| <!-- The <purge-sk> custom element declaration. |
| |
| A custom element that allows to clear or purge individual digests. |
| |
| For example: |
| |
| <purge-sk digest="[[digest]]></purge-sk> |
| |
| Will display a element that can be opened to show two buttons, one to clear |
| the digest from server side caches and the other to purge the digest from GS. |
| |
| Attributes: |
| digest - The digest to be purged. |
| |
| Events: |
| None |
| |
| Methods: |
| None |
| --> |
| <link rel="import" href="/res/imp/bower_components/iron-icons/iron-icons.html"> |
| <link rel="import" href="/res/imp/bower_components/paper-button/paper-button.html"> |
| <link rel="import" href="/res/imp/bower_components/iron-flex-layout/iron-flex-layout.html"> |
| |
| <link rel="import" href="activity-sk.html"> |
| |
| <dom-module id="purge-sk"> |
| <template> |
| <style> |
| .openCloseIcon { |
| padding-left: 0; |
| padding-right: 0; |
| color:#aaaaaa; |
| } |
| </style> |
| <div class="layout horizontal"> |
| <div hidden$="[[_open]]"> |
| <paper-button class="openCloseIcon" on-tap="_toggleOpen"> |
| <iron-icon icon="icons:add-circle-outline"> </iron-icon> |
| </paper-button> |
| </div> |
| <div hidden$="[[!_open]]"> |
| <paper-button class="openCloseIcon" on-tap="_toggleOpen"> |
| <iron-icon icon="icons:clear"> </iron-icon> |
| </paper-button> |
| <paper-button on-tap="_handleClear" id="clearButton" raised=""> |
| Clear |
| </paper-button> |
| <paper-button on-tap="_handlePurge" id="purgeButton" raised=""> |
| Purge |
| </paper-button> |
| </div> |
| <activity-sk id="activityPurge"></activity-sk> |
| </div> |
| </template> |
| <script> |
| Polymer({ |
| is: 'purge-sk', |
| |
| properties: { |
| digest: { |
| type: String, |
| value: "", |
| notify: true |
| }, |
| _open: { |
| type: Boolean, |
| value: false, |
| } |
| }, |
| |
| _toggleOpen: function() { |
| this._open = !this._open; |
| }, |
| |
| _handleClear: function() { |
| this._clearPurge(this.digest, false); |
| }, |
| |
| _handlePurge: function() { |
| this._clearPurge(this.digest, true); |
| }, |
| |
| _clearPurge: function(digest, purge) { |
| var url = '/json/cleardigests' + ((purge) ? '?purge=true':''); |
| this.$.activityPurge.startSpinner("Clearing/purging ..."); |
| sk.post(url, JSON.stringify([digest])).then(JSON.parse).then(function(json){ |
| this.$.activityPurge.stopSpinner(); |
| this.set("_open", false); |
| }.bind(this)).catch(function(err) { |
| this.$.activityPurge.stopSpinner(); |
| this.set("_open", false); |
| sk.errorMessage(err); |
| }.bind(this)); |
| } |
| }); |
| </script> |
| </dom-module> |
| |