Changeset 2494716
- Timestamp:
- 03/13/2021 10:04:11 AM (5 years ago)
- Location:
- super-reactions
- Files:
-
- 62 added
- 12 edited
-
tags/1.3 (added)
-
tags/1.3/LICENSE (added)
-
tags/1.3/admin (added)
-
tags/1.3/admin/ajax.php (added)
-
tags/1.3/admin/assets (added)
-
tags/1.3/admin/assets/dist (added)
-
tags/1.3/admin/assets/dist/css (added)
-
tags/1.3/admin/assets/dist/css/srea-admin.css (added)
-
tags/1.3/admin/assets/dist/css/srea-admin.min.css (added)
-
tags/1.3/admin/assets/dist/js (added)
-
tags/1.3/admin/assets/dist/js/srea-admin.js (added)
-
tags/1.3/admin/assets/dist/js/srea-admin.min.js (added)
-
tags/1.3/admin/class-init.php (added)
-
tags/1.3/admin/class-settings-view.php (added)
-
tags/1.3/admin/index.php (added)
-
tags/1.3/constants.php (added)
-
tags/1.3/front (added)
-
tags/1.3/front/assets (added)
-
tags/1.3/front/assets/dist (added)
-
tags/1.3/front/assets/dist/css (added)
-
tags/1.3/front/assets/dist/css/srea-front.css (added)
-
tags/1.3/front/assets/dist/css/srea-front.min.css (added)
-
tags/1.3/front/assets/dist/js (added)
-
tags/1.3/front/assets/dist/js/srea-front.js (added)
-
tags/1.3/front/assets/dist/js/srea-front.min.js (added)
-
tags/1.3/front/assets/img (added)
-
tags/1.3/front/assets/img/logo.png (added)
-
tags/1.3/front/class-init.php (added)
-
tags/1.3/front/index.php (added)
-
tags/1.3/includes (added)
-
tags/1.3/includes/ajax.php (added)
-
tags/1.3/includes/class-assets.php (added)
-
tags/1.3/includes/class-db.php (added)
-
tags/1.3/includes/class-init.php (added)
-
tags/1.3/includes/class-reactions.php (added)
-
tags/1.3/includes/functions (added)
-
tags/1.3/includes/functions.php (added)
-
tags/1.3/includes/functions/functions.php (added)
-
tags/1.3/includes/functions/helpers.php (added)
-
tags/1.3/includes/functions/templates.php (added)
-
tags/1.3/includes/hooks.php (added)
-
tags/1.3/includes/options.php (added)
-
tags/1.3/includes/templates.php (added)
-
tags/1.3/index.php (added)
-
tags/1.3/languages (added)
-
tags/1.3/languages/super-reactions.pot (added)
-
tags/1.3/readme.txt (added)
-
tags/1.3/super-reactions.php (added)
-
tags/1.3/vendor (added)
-
tags/1.3/vendor/autoload.php (added)
-
tags/1.3/vendor/composer (added)
-
tags/1.3/vendor/composer/ClassLoader.php (added)
-
tags/1.3/vendor/composer/InstalledVersions.php (added)
-
tags/1.3/vendor/composer/LICENSE (added)
-
tags/1.3/vendor/composer/autoload_classmap.php (added)
-
tags/1.3/vendor/composer/autoload_files.php (added)
-
tags/1.3/vendor/composer/autoload_namespaces.php (added)
-
tags/1.3/vendor/composer/autoload_psr4.php (added)
-
tags/1.3/vendor/composer/autoload_real.php (added)
-
tags/1.3/vendor/composer/autoload_static.php (added)
-
tags/1.3/vendor/composer/installed.json (added)
-
tags/1.3/vendor/composer/installed.php (added)
-
trunk/admin/assets/dist/css/srea-admin.css (modified) (8 diffs)
-
trunk/admin/assets/dist/css/srea-admin.min.css (modified) (1 diff)
-
trunk/admin/assets/dist/js/srea-admin.js (modified) (3 diffs)
-
trunk/admin/assets/dist/js/srea-admin.min.js (modified) (1 diff)
-
trunk/admin/class-settings-view.php (modified) (4 diffs)
-
trunk/constants.php (modified) (1 diff)
-
trunk/front/assets/dist/css/srea-front.css (modified) (1 diff)
-
trunk/front/assets/dist/css/srea-front.min.css (modified) (1 diff)
-
trunk/includes/templates.php (modified) (1 diff)
-
trunk/languages/super-reactions.pot (modified) (2 diffs)
-
trunk/readme.txt (modified) (2 diffs)
-
trunk/super-reactions.php (modified) (1 diff)
Legend:
- Unmodified
- Added
- Removed
-
super-reactions/trunk/admin/assets/dist/css/srea-admin.css
r2461152 r2494716 21 21 flex-basis: 50%; 22 22 background-color: #ffffff; 23 bo x-shadow: 1px 1px 5px 2px#cccccc;23 border: 1px solid #cccccc; 24 24 padding: 10px; 25 25 align-items: center; … … 36 36 display: grid; 37 37 grid-template-columns: 200px auto; 38 border: 1px solid #cccccc; 39 border-top: none; 38 40 } 39 41 … … 50 52 51 53 .srea-admin-main .srea-tabs .srea-tab.active { 52 background-color: # d5edff;54 background-color: #e5eeff; 53 55 font-weight: bold; 54 56 } … … 62 64 display: flex; 63 65 align-items: center; 64 } 65 66 .srea-admin-main .srea-views .srea-template-selector label { 67 margin-right: 5px; 66 margin: 15px 0; 67 } 68 69 .srea-admin-main .srea-views .srea-template-selector .srea-setting-label { 70 width: 30px; 71 margin-right: 25px; 72 } 73 74 .srea-admin-main .srea-views .srea-template-selector .srea-action-buttons { 75 display: flex; 76 flex-direction: column; 77 justify-content: space-between; 78 align-items: center; 79 height: 60px; 80 width: 100px; 81 } 82 83 .srea-admin-main .srea-views .srea-template-selector .srea-template-selector-btn { 84 display: flex; 85 align-items: center; 86 justify-content: center; 87 width: 60px; 88 height: 25px; 89 border: 1px solid #cccccc; 90 border-radius: 2px; 91 } 92 93 .srea-admin-main .srea-views .srea-template-selector .srea-template-selector-btn:enabled { 94 cursor: pointer; 95 } 96 97 .srea-admin-main .srea-views .srea-template-selector .srea-template-selector-btn.srea-remover:enabled { 98 color: #e24a4a; 99 } 100 101 .srea-admin-main .srea-views .srea-template-selector .preview-wrapper { 102 display: flex; 103 justify-content: center; 104 align-items: center; 105 width: 450px; 106 min-height: 90px; 68 107 } 69 108 … … 76 115 min-height: 130px; 77 116 height: 100%; 117 position: relative; 118 } 119 120 .srea-admin-main .srea-view.active .srea-loader, 121 .srea-admin-main .srea-view.active .srea-result-badge { 122 position: absolute; 123 top: 0; 124 right: 0; 78 125 } 79 126 … … 98 145 color: #ffffff; 99 146 font-weight: 500; 147 } 148 149 #srea-settings-modal { 150 position: fixed; 151 width: 100%; 152 max-width: 700px; 153 margin: 0 auto; 154 background-color: #efefef; 155 padding: 10px 30px 30px; 156 border: 1px solid #ccc; 157 z-index: 9990; 158 display: none; 159 } 160 161 #srea-settings-modal.visible { 162 display: block; 163 } 164 165 #srea-settings-modal .srea-modal-inner { 166 display: flex; 167 flex-wrap: wrap; 168 justify-content: flex-start; 169 max-height: 400px; 170 overflow-y: scroll; 171 } 172 173 #srea-settings-modal .srea-setting-preview { 174 cursor: pointer; 175 background-color: #f8f8f8; 176 } 177 178 #srea-settings-modal .srea-setting-preview:hover { 179 border-color: blue; 180 } 181 182 #srea-settings-modal .srea-setting-preview.selected { 183 background-color: #e5eeff; 184 border-color: blue; 185 } 186 187 .srea-setting-preview { 188 display: flex; 189 flex-shrink: 0; 190 height: 40px; 191 justify-content: center; 192 align-items: center; 193 margin: 10px; 194 } 195 196 .srea-modal-header { 197 display: flex; 198 justify-content: space-between; 199 align-items: center; 200 } 201 202 #srea-modal-title { 203 margin-left: 10px; 204 } 205 206 .srea-selected-template-preview { 207 pointer-events: none; 100 208 } 101 209 … … 113 221 border-top: 3px solid rgba(66, 66, 66, 0.5); 114 222 border-radius: 50%; 115 width: 1 6px;116 height: 1 6px;117 margin: 3px;223 width: 18px; 224 height: 18px; 225 margin: 5px; 118 226 animation: spin 1s linear infinite; 119 227 } 120 228 121 .srea-badge-success { 122 background-color: #3c932c; 229 .srea-result-badge { 123 230 color: #ffffff; 124 231 padding: 6px; … … 126 233 line-height: 10px; 127 234 font-size: 13px; 128 margin: 0 5px; 129 } 235 } 236 237 .srea-result-badge.srea-badge-success { 238 background-color: #3c932c; 239 } 240 241 .srea-result-badge.srea-badge-error { 242 background-color: #932c2c; 243 } 244 245 .srea-modal-close-btn { 246 cursor: pointer; 247 position: relative; 248 display: block; 249 width: 30px; 250 height: 30px; 251 border: 2px solid #747474; 252 left: 30px; 253 bottom: 20px; 254 } 255 256 .srea-modal-close-btn::before { 257 content: ''; 258 position: absolute; 259 top: 13px; 260 height: 2px; 261 width: 30px; 262 background-color: #747474; 263 transform: rotate(45deg); 264 } 265 266 .srea-modal-close-btn::after { 267 content: ''; 268 position: absolute; 269 top: 13px; 270 height: 2px; 271 width: 30px; 272 background-color: #747474; 273 transform: rotate(-45deg); 274 } 275 276 .srea-template { 277 display: flex; 278 } 279 280 .srea-template .srea-reaction-item { 281 display: flex; 282 margin-right: 10px; 283 align-items: center; 284 height: 28px; 285 } 286 287 .srea-template .srea-button { 288 cursor: pointer; 289 } 290 291 .srea-template .srea-template-count { 292 width: 23px; 293 text-align: center; 294 font-size: medium; 295 } 296 297 .srea-template .srea-button { 298 outline: none; 299 border: none; 300 background: none; 301 } 302 303 .srea-template .srea-button:focus, .srea-template .srea-button:active, .srea-template .srea-button:hover { 304 outline: none; 305 border: none; 306 background: none; 307 } -
super-reactions/trunk/admin/assets/dist/css/srea-admin.min.css
r2461152 r2494716 1 #wpcontent{padding-left:0;padding-right:0}.srea-admin-wrapper{display:block;margin:0 auto;max-width:900px;height:100%;background-color:#fff}.srea-admin-wrapper input,.srea-admin-wrapper select{border-radius:0}.srea-admin-header{display:flex;flex-basis:50%;background-color:#fff;bo x-shadow:1px 1px 5px 2px #ccc;padding:10px;align-items:center}.srea-admin-header .srea-admin-title{text-align:center;flex:1 0 auto;justify-self:center}.srea-admin-main{padding:20px;display:grid;grid-template-columns:200px auto}.srea-admin-main .srea-tabs{border-top:1px solid #ccc;cursor:pointer}.srea-admin-main .srea-tabs .srea-tab{padding:20px;border-bottom:1px solid #ccc;border-left:1px solid #ccc}.srea-admin-main .srea-tabs .srea-tab.active{background-color:#d5edff;font-weight:700}.srea-admin-main .srea-views{border:1px solid #ccc;padding-left:40px}.srea-admin-main .srea-views .srea-template-selector{display:flex;align-items:center}.srea-admin-main .srea-views .srea-template-selector label{margin-right:5px}.srea-admin-main .srea-view.active{display:flex;flex-direction:column;align-items:flex-start;justify-content:space-evenly;flex-wrap:wrap;min-height:130px;height:100%}.srea-admin-main .srea-view:not(.active){display:none}.srea-admin-footer{display:flex;justify-content:flex-end;padding:20px}.srea-button{display:block;padding:10px;border:none}.srea-button.srea-button-primary{background-color:#4a91e2;color:#fff;font-weight:500}@keyframes spin{0%{transform:rotate(0)}100%{transform:rotate(360deg)}}.srea-loader{border:3px solid rgba(200,200,200,.7);border-top:3px solid rgba(66,66,66,.5);border-radius:50%;width:16px;height:16px;margin:3px;animation:spin 1s linear infinite}.srea-badge-success{background-color:#3c932c;color:#fff;padding:6px;text-align:center;line-height:10px;font-size:13px;margin:0 5px}1 #wpcontent{padding-left:0;padding-right:0}.srea-admin-wrapper{display:block;margin:0 auto;max-width:900px;height:100%;background-color:#fff}.srea-admin-wrapper input,.srea-admin-wrapper select{border-radius:0}.srea-admin-header{display:flex;flex-basis:50%;background-color:#fff;border:1px solid #ccc;padding:10px;align-items:center}.srea-admin-header .srea-admin-title{text-align:center;flex:1 0 auto;justify-self:center}.srea-admin-main{padding:20px;display:grid;grid-template-columns:200px auto;border:1px solid #ccc;border-top:none}.srea-admin-main .srea-tabs{border-top:1px solid #ccc;cursor:pointer}.srea-admin-main .srea-tabs .srea-tab{padding:20px;border-bottom:1px solid #ccc;border-left:1px solid #ccc}.srea-admin-main .srea-tabs .srea-tab.active{background-color:#e5eeff;font-weight:700}.srea-admin-main .srea-views{border:1px solid #ccc;padding-left:40px}.srea-admin-main .srea-views .srea-template-selector{display:flex;align-items:center;margin:15px 0}.srea-admin-main .srea-views .srea-template-selector .srea-setting-label{width:30px;margin-right:25px}.srea-admin-main .srea-views .srea-template-selector .srea-action-buttons{display:flex;flex-direction:column;justify-content:space-between;align-items:center;height:60px;width:100px}.srea-admin-main .srea-views .srea-template-selector .srea-template-selector-btn{display:flex;align-items:center;justify-content:center;width:60px;height:25px;border:1px solid #ccc;border-radius:2px}.srea-admin-main .srea-views .srea-template-selector .srea-template-selector-btn:enabled{cursor:pointer}.srea-admin-main .srea-views .srea-template-selector .srea-template-selector-btn.srea-remover:enabled{color:#e24a4a}.srea-admin-main .srea-views .srea-template-selector .preview-wrapper{display:flex;justify-content:center;align-items:center;width:450px;min-height:90px}.srea-admin-main .srea-view.active{display:flex;flex-direction:column;align-items:flex-start;justify-content:space-evenly;flex-wrap:wrap;min-height:130px;height:100%;position:relative}.srea-admin-main .srea-view.active .srea-loader,.srea-admin-main .srea-view.active .srea-result-badge{position:absolute;top:0;right:0}.srea-admin-main .srea-view:not(.active){display:none}.srea-admin-footer{display:flex;justify-content:flex-end;padding:20px}.srea-button{display:block;padding:10px;border:none}.srea-button.srea-button-primary{background-color:#4a91e2;color:#fff;font-weight:500}#srea-settings-modal{position:fixed;width:100%;max-width:700px;margin:0 auto;background-color:#efefef;padding:10px 30px 30px;border:1px solid #ccc;z-index:9990;display:none}#srea-settings-modal.visible{display:block}#srea-settings-modal .srea-modal-inner{display:flex;flex-wrap:wrap;justify-content:flex-start;max-height:400px;overflow-y:scroll}#srea-settings-modal .srea-setting-preview{cursor:pointer;background-color:#f8f8f8}#srea-settings-modal .srea-setting-preview:hover{border-color:#00f}#srea-settings-modal .srea-setting-preview.selected{background-color:#e5eeff;border-color:#00f}.srea-setting-preview{display:flex;flex-shrink:0;height:40px;justify-content:center;align-items:center;margin:10px}.srea-modal-header{display:flex;justify-content:space-between;align-items:center}#srea-modal-title{margin-left:10px}.srea-selected-template-preview{pointer-events:none}@keyframes spin{0%{transform:rotate(0)}100%{transform:rotate(360deg)}}.srea-loader{border:3px solid rgba(200,200,200,.7);border-top:3px solid rgba(66,66,66,.5);border-radius:50%;width:18px;height:18px;margin:5px;animation:spin 1s linear infinite}.srea-result-badge{color:#fff;padding:6px;text-align:center;line-height:10px;font-size:13px}.srea-result-badge.srea-badge-success{background-color:#3c932c}.srea-result-badge.srea-badge-error{background-color:#932c2c}.srea-modal-close-btn{cursor:pointer;position:relative;display:block;width:30px;height:30px;border:2px solid #747474;left:30px;bottom:20px}.srea-modal-close-btn::before{content:'';position:absolute;top:13px;height:2px;width:30px;background-color:#747474;transform:rotate(45deg)}.srea-modal-close-btn::after{content:'';position:absolute;top:13px;height:2px;width:30px;background-color:#747474;transform:rotate(-45deg)}.srea-template{display:flex}.srea-template .srea-reaction-item{display:flex;margin-right:10px;align-items:center;height:28px}.srea-template .srea-button{cursor:pointer}.srea-template .srea-template-count{width:23px;text-align:center;font-size:medium}.srea-template .srea-button{outline:0;border:none;background:0 0}.srea-template .srea-button:active,.srea-template .srea-button:focus,.srea-template .srea-button:hover{outline:0;border:none;background:0 0} -
super-reactions/trunk/admin/assets/dist/js/srea-admin.js
r2461152 r2494716 1 1 "use strict"; 2 2 3 document.addEventListener("DOMContentLoaded", function (event) { 3 function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } } 4 5 function _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } 6 7 function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; } 8 9 document.addEventListener('DOMContentLoaded', function (event) { 4 10 var nonce = document.getElementById('_wpnonce'); 5 var $selects = document.querySelectorAll('select');6 11 var $tabs = document.querySelectorAll('.srea-tab'); 7 12 $tabs.forEach(function (element) { … … 20 25 } 21 26 22 $selects.forEach(function (element) {23 element.addEventListener('change', sreaSaveSettings);24 });25 26 function sreaSaveSettings(e) {27 var spinner = showLoader();28 e.target.insertAdjacentElement('afterend', spinner);29 var formData = new FormData();30 formData.append('action', 'srea_save_settings');31 formData.append('nonce', nonce.value);32 formData.append('option', e.target.name);33 formData.append('value', e.target.value);34 fetch(ajaxurl, {35 method: 'POST',36 body: formData37 }).then(function (response) {38 return response.json();39 }).then(function (res) {40 e.target.parentNode.removeChild(spinner);41 var badge = showResults(res.success, res.data.results);42 e.target.insertAdjacentElement('afterend', badge);43 setTimeout(function () {44 e.target.parentNode.removeChild(badge);45 }, 500);46 });47 }48 49 27 function showLoader() { 50 28 var loader = document.createElement('div'); … … 55 33 function showResults(status, text) { 56 34 var badge = document.createElement('div'); 57 badge.className = status ? 'srea- badge-success' : 'srea-badge-error';35 badge.className = status ? 'srea-result-badge srea-badge-success' : 'srea-result-badge srea-badge-error'; 58 36 badge.textContent = text; 59 37 return badge; 60 38 } 39 40 var sreaModal = /*#__PURE__*/function () { 41 function sreaModal() { 42 var _this = this; 43 44 _classCallCheck(this, sreaModal); 45 46 this.modal = document.querySelector('#srea-settings-modal'); 47 this.selectingOption = ''; 48 this.modalFor = ''; 49 var $settingInitiators = document.querySelectorAll('[data-srea-option]'); 50 $settingInitiators.forEach(function (element) { 51 element.addEventListener('click', _this.open.bind(_this)); 52 }); 53 var $removers = document.querySelectorAll('.srea-remover'); 54 $removers.forEach(function (element) { 55 element.addEventListener('click', _this.remove.bind(_this)); 56 }); 57 var $previews = this.modal.querySelectorAll('.srea-setting-preview'); 58 $previews.forEach(function (element) { 59 element.addEventListener('click', _this.select.bind(_this)); 60 }); 61 var $closeBtn = document.querySelector('#srea-modal-close-btn'); 62 $closeBtn.addEventListener('click', this.close.bind(this)); 63 } 64 65 _createClass(sreaModal, [{ 66 key: "open", 67 value: function open(e) { 68 var optionName = e.currentTarget.dataset.sreaOption; 69 this.selectingOption = optionName; 70 this.modalFor = e.currentTarget; 71 this.addTitle(optionName); 72 this.modal.classList.add('visible'); 73 this.calculatePosition(); 74 window.addEventListener('resize', this.calculatePosition); 75 } 76 }, { 77 key: "capitalize", 78 value: function capitalize(str) { 79 return str.charAt(0).toUpperCase() + str.slice(1); 80 } 81 }, { 82 key: "addTitle", 83 value: function addTitle(slug) { 84 var $title = document.getElementById('srea-modal-title-option-name'); 85 $title.insertAdjacentText('beforeend', this.capitalize(slug)); 86 } 87 }, { 88 key: "close", 89 value: function close() { 90 this.modal.classList.remove('visible'); 91 var $title = document.getElementById('srea-modal-title-option-name'); 92 this.empty($title); 93 this.selectingOption = null; 94 this.modalFor = null; 95 } 96 }, { 97 key: "calculatePosition", 98 value: function calculatePosition() { 99 var vw = Math.max(document.documentElement.clientWidth || 0, window.innerWidth || 0); 100 var vh = Math.max(document.documentElement.clientHeight || 0, window.innerHeight || 0); 101 this.modal.style.left = "".concat((vw + document.getElementById('adminmenuwrap').offsetWidth - this.modal.offsetWidth) / 2, "px"); 102 this.modal.style.top = "".concat((vh - this.modal.offsetHeight) / 2, "px"); 103 } 104 }, { 105 key: "select", 106 value: function select(event) { 107 var $selectedPreview = event.currentTarget.cloneNode(true); 108 var $previewWrapper = this.modalFor.closest('.srea-template-selector').querySelector('.srea-selected-template-preview'); 109 this.empty($previewWrapper); 110 $previewWrapper.insertAdjacentElement('beforeend', $selectedPreview); 111 this.modalFor.innerText = 'Change'; 112 this.enableBtn(this.modalFor.parentNode.querySelector('.srea-remover')); 113 this.saveSettings(event); 114 } 115 }, { 116 key: "saveSettings", 117 value: function saveSettings(event) { 118 var spinner = showLoader(); 119 var view = document.querySelector('.srea-view.active'); 120 view.insertAdjacentElement('afterBegin', spinner); 121 var formData = new FormData(); 122 formData.append('action', 'srea_save_settings'); 123 formData.append('nonce', nonce.value); 124 formData.append('option', this.selectingOption); 125 formData.append('value', event.currentTarget.dataset.slug); 126 this.close(); 127 fetch(ajaxurl, { 128 method: 'POST', 129 body: formData 130 }).then(function (response) { 131 return response.json(); 132 }).then(function (res) { 133 view.removeChild(spinner); 134 var badge = showResults(res.success, res.data.results); 135 view.insertAdjacentElement('afterBegin', badge); 136 setTimeout(function () { 137 view.removeChild(badge); 138 }, 500); 139 }); 140 } 141 }, { 142 key: "remove", 143 value: function remove(event) { 144 var $previewWrapper = event.currentTarget.closest('.srea-template-selector').querySelector('.srea-selected-template-preview'); 145 this.empty($previewWrapper); 146 this.disableBtn(event.currentTarget); 147 var spinner = showLoader(); 148 var view = document.querySelector('.srea-view.active'); 149 view.insertAdjacentElement('afterBegin', spinner); 150 var formData = new FormData(); 151 formData.append('action', 'srea_save_settings'); 152 formData.append('nonce', nonce.value); 153 formData.append('option', event.currentTarget.dataset.sreaOption); 154 formData.append('value', ''); 155 this.close(); 156 fetch(ajaxurl, { 157 method: 'POST', 158 body: formData 159 }).then(function (response) { 160 return response.json(); 161 }).then(function (res) { 162 view.removeChild(spinner); 163 var badge = showResults(res.success, res.data.results); 164 view.insertAdjacentElement('afterBegin', badge); 165 setTimeout(function () { 166 view.removeChild(badge); 167 }, 500); 168 }); 169 } 170 }, { 171 key: "disableBtn", 172 value: function disableBtn(btn) { 173 btn.setAttribute('disabled', 'disabled'); 174 } 175 }, { 176 key: "enableBtn", 177 value: function enableBtn(btn) { 178 btn.removeAttribute('disabled'); 179 } 180 }, { 181 key: "empty", 182 value: function empty(ele) { 183 ele.innerHTML = null; 184 } 185 }]); 186 187 return sreaModal; 188 }(); 189 190 new sreaModal(); 61 191 }); -
super-reactions/trunk/admin/assets/dist/js/srea-admin.min.js
r2461152 r2494716 1 "use strict"; document.addEventListener("DOMContentLoaded",function(e){var a=document.getElementById("_wpnonce"),t=document.querySelectorAll("select");function n(e){var t;document.querySelector(".srea-tab.active").classList.remove("active"),e.currentTarget.classList.add("active"),t=e.currentTarget.dataset.view,document.querySelector(".srea-view.active").classList.remove("active"),document.querySelector("#".concat(t)).classList.add("active")}function r(c){var e,o=((e=document.createElement("div")).className="srea-loader",e);c.target.insertAdjacentElement("afterend",o);var t=new FormData;t.append("action","srea_save_settings"),t.append("nonce",a.value),t.append("option",c.target.name),t.append("value",c.target.value),fetch(ajaxurl,{method:"POST",body:t}).then(function(e){return e.json()}).then(function(e){c.target.parentNode.removeChild(o);var t,a,n,r=(t=e.success,a=e.data.results,(n=document.createElement("div")).className=t?"srea-badge-success":"srea-badge-error",n.textContent=a,n);c.target.insertAdjacentElement("afterend",r),setTimeout(function(){c.target.parentNode.removeChild(r)},500)})}document.querySelectorAll(".srea-tab").forEach(function(e){e.addEventListener("click",n)}),t.forEach(function(e){e.addEventListener("change",r)})});1 "use strict";function _classCallCheck(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function _defineProperties(e,t){for(var n=0;n<t.length;n++){var a=t[n];a.enumerable=a.enumerable||!1,a.configurable=!0,"value"in a&&(a.writable=!0),Object.defineProperty(e,a.key,a)}}function _createClass(e,t,n){return t&&_defineProperties(e.prototype,t),n&&_defineProperties(e,n),e}document.addEventListener("DOMContentLoaded",function(e){var i=document.getElementById("_wpnonce");function t(e){var t;document.querySelector(".srea-tab.active").classList.remove("active"),e.currentTarget.classList.add("active"),t=e.currentTarget.dataset.view,document.querySelector(".srea-view.active").classList.remove("active"),document.querySelector("#".concat(t)).classList.add("active")}function o(){var e=document.createElement("div");return e.className="srea-loader",e}function s(e,t){var n=document.createElement("div");return n.className=e?"srea-result-badge srea-badge-success":"srea-result-badge srea-badge-error",n.textContent=t,n}document.querySelectorAll(".srea-tab").forEach(function(e){e.addEventListener("click",t)}),new(function(){function e(){var t=this;_classCallCheck(this,e),this.modal=document.querySelector("#srea-settings-modal"),this.selectingOption="",this.modalFor="",document.querySelectorAll("[data-srea-option]").forEach(function(e){e.addEventListener("click",t.open.bind(t))}),document.querySelectorAll(".srea-remover").forEach(function(e){e.addEventListener("click",t.remove.bind(t))}),this.modal.querySelectorAll(".srea-setting-preview").forEach(function(e){e.addEventListener("click",t.select.bind(t))}),document.querySelector("#srea-modal-close-btn").addEventListener("click",this.close.bind(this))}return _createClass(e,[{key:"open",value:function(e){var t=e.currentTarget.dataset.sreaOption;this.selectingOption=t,this.modalFor=e.currentTarget,this.addTitle(t),this.modal.classList.add("visible"),this.calculatePosition(),window.addEventListener("resize",this.calculatePosition)}},{key:"capitalize",value:function(e){return e.charAt(0).toUpperCase()+e.slice(1)}},{key:"addTitle",value:function(e){document.getElementById("srea-modal-title-option-name").insertAdjacentText("beforeend",this.capitalize(e))}},{key:"close",value:function(){this.modal.classList.remove("visible");var e=document.getElementById("srea-modal-title-option-name");this.empty(e),this.selectingOption=null,this.modalFor=null}},{key:"calculatePosition",value:function(){var e=Math.max(document.documentElement.clientWidth||0,window.innerWidth||0),t=Math.max(document.documentElement.clientHeight||0,window.innerHeight||0);this.modal.style.left="".concat((e+document.getElementById("adminmenuwrap").offsetWidth-this.modal.offsetWidth)/2,"px"),this.modal.style.top="".concat((t-this.modal.offsetHeight)/2,"px")}},{key:"select",value:function(e){var t=e.currentTarget.cloneNode(!0),n=this.modalFor.closest(".srea-template-selector").querySelector(".srea-selected-template-preview");this.empty(n),n.insertAdjacentElement("beforeend",t),this.modalFor.innerText="Change",this.enableBtn(this.modalFor.parentNode.querySelector(".srea-remover")),this.saveSettings(e)}},{key:"saveSettings",value:function(e){var n=o(),a=document.querySelector(".srea-view.active");a.insertAdjacentElement("afterBegin",n);var t=new FormData;t.append("action","srea_save_settings"),t.append("nonce",i.value),t.append("option",this.selectingOption),t.append("value",e.currentTarget.dataset.slug),this.close(),fetch(ajaxurl,{method:"POST",body:t}).then(function(e){return e.json()}).then(function(e){a.removeChild(n);var t=s(e.success,e.data.results);a.insertAdjacentElement("afterBegin",t),setTimeout(function(){a.removeChild(t)},500)})}},{key:"remove",value:function(e){var t=e.currentTarget.closest(".srea-template-selector").querySelector(".srea-selected-template-preview");this.empty(t),this.disableBtn(e.currentTarget);var n=o(),a=document.querySelector(".srea-view.active");a.insertAdjacentElement("afterBegin",n);var r=new FormData;r.append("action","srea_save_settings"),r.append("nonce",i.value),r.append("option",e.currentTarget.dataset.sreaOption),r.append("value",""),this.close(),fetch(ajaxurl,{method:"POST",body:r}).then(function(e){return e.json()}).then(function(e){a.removeChild(n);var t=s(e.success,e.data.results);a.insertAdjacentElement("afterBegin",t),setTimeout(function(){a.removeChild(t)},500)})}},{key:"disableBtn",value:function(e){e.setAttribute("disabled","disabled")}},{key:"enableBtn",value:function(e){e.removeAttribute("disabled")}},{key:"empty",value:function(e){e.innerHTML=null}}]),e}())}); -
super-reactions/trunk/admin/class-settings-view.php
r2461152 r2494716 2 2 3 3 namespace SREA\Admin; 4 5 use SREA\Includes\SREA_Reactions; 4 6 5 7 class Settings_View { … … 42 44 </div> 43 45 <?php 46 $this->modal(); 44 47 } 45 48 … … 103 106 private function custom_post_types() { 104 107 $args = array( 105 'public' => true, 106 '_builtin' => false, 108 'public' => true, 109 'publicly_queryable' => true, 110 'exclude_from_search' => true, 111 'show_ui' => true, 112 'show_in_nav_menus' => true, 113 '_builtin' => false, 107 114 ); 108 115 109 $this->cpts = array_diff( get_post_types( $args ), array( 'product' ) ); 116 $cpts = array_diff( get_post_types( $args ), array( 'product' ) ); 117 $this->cpts = apply_filters( 'srea_custom_post_types', $cpts ); 110 118 } 111 119 112 120 private function render_setting_row( $post_type ) { 113 $ reactions = srea_reactions();121 $selected = srea_get_active_template_slug( $post_type ); 114 122 ?> 115 123 <div class="srea-template-selector"> 116 <label for="srea-template-selector-<?php echo esc_attr( $post_type ); ?>"><?php echo ucfirst( $post_type ) . ':'; ?></label> 117 <select name="<?php echo esc_attr( $post_type ); ?>" id="srea-template-selector-<?php echo esc_attr( $post_type ); ?>"> 118 <option value="0"><?php esc_html_e( 'Disable', 'super-reactions' ); ?></option> 119 <?php foreach ( $reactions as $slug => $reaction ) : ?> 120 <?php $selected = srea_get_active_template_slug( $post_type ) === $slug ? 'selected' : ''; ?> 121 <option value="<?php echo esc_attr( $slug ); ?>" <?php echo esc_attr( $selected ); ?> ><?php echo esc_html( $reaction['name'] ); ?></option> 122 <?php endforeach; ?> 123 </select> 124 <span class="srea-setting-label"> 125 <?php echo ucfirst( $post_type ) . ':'; ?> 126 </span> 127 <div class="srea-action-buttons"> 128 <button class="srea-template-selector-btn" data-srea-option="<?php echo esc_attr( $post_type ); ?>"> 129 <?php $selected ? esc_html_e( 'Change', 'super-reactions' ) : esc_html_e( 'Select', 'super-reactions' ); ?> 130 </button> 131 <button 132 class="srea-template-selector-btn srea-remover" 133 data-srea-option="<?php echo esc_attr( $post_type ); ?>" 134 <?php echo ! $selected ? esc_attr( 'disabled', 'super-reactions' ) : ''; ?>> 135 <?php esc_html_e( 'Remove', 'super-reactions' ); ?> 136 </button> 137 </div> 138 <div class="preview-wrapper"> 139 <div class="srea-selected-template-preview"> 140 <?php 141 if ( $selected ) { 142 $this->generate_single_preview( $selected ); 143 } else { 144 esc_html_e( 'Disabled', 'growmatik' ); 145 } 146 ?> 147 </div> 148 </div> 124 149 </div> 125 150 <?php … … 148 173 } 149 174 175 private function modal() { 176 ?> 177 <div id="srea-settings-modal"> 178 <div class="srea-modal-header"> 179 <h2 id="srea-modal-title"> 180 <span><?php esc_html_e( 'Select reaction template for', 'super-reactions' ); ?></span> 181 <span id="srea-modal-title-option-name"></span> 182 </h2> 183 <div id="srea-modal-close-btn" class="srea-modal-close-btn"></div> 184 </div> 185 <div class="srea-modal-inner"> 186 <?php $this->settings_preview(); ?> 187 </div> 188 </div> 189 <?php 190 } 191 192 private function settings_preview() { 193 $reactions = ( new SREA_Reactions() )->get_all(); 194 foreach ( $reactions as $slug => $config ) { 195 $this->generate_single_preview( $slug ); 196 $this->generate_single_preview( $slug ); 197 } 198 } 199 200 private function generate_single_preview( $slug ) { 201 ?> 202 <div class="srea-setting-preview" data-slug="<?php echo esc_attr( $slug ); ?>"> 203 <?php echo srea_get_template( $slug ); ?> 204 </div> 205 <?php 206 } 207 150 208 } -
super-reactions/trunk/constants.php
r2461152 r2494716 6 6 define( 'SREA_URL', plugin_dir_url( __FILE__ ) ); 7 7 8 define( 'SREA_VERSION', '1. 2.0' );8 define( 'SREA_VERSION', '1.3.0' ); 9 9 define( 'SREA_SLUG', 'super_reactions' ); 10 10 -
super-reactions/trunk/front/assets/dist/css/srea-front.css
r2452813 r2494716 7 7 margin: 5px; 8 8 animation: spin 1s linear infinite; 9 } 10 11 .srea-result-badge { 12 color: #ffffff; 13 padding: 6px; 14 text-align: center; 15 line-height: 10px; 16 font-size: 13px; 17 } 18 19 .srea-result-badge.srea-badge-success { 20 background-color: #3c932c; 21 } 22 23 .srea-result-badge.srea-badge-error { 24 background-color: #932c2c; 25 } 26 27 .srea-modal-close-btn { 28 cursor: pointer; 29 position: relative; 30 display: block; 31 width: 30px; 32 height: 30px; 33 border: 2px solid #747474; 34 left: 30px; 35 bottom: 20px; 36 } 37 38 .srea-modal-close-btn::before { 39 content: ''; 40 position: absolute; 41 top: 13px; 42 height: 2px; 43 width: 30px; 44 background-color: #747474; 45 transform: rotate(45deg); 46 } 47 48 .srea-modal-close-btn::after { 49 content: ''; 50 position: absolute; 51 top: 13px; 52 height: 2px; 53 width: 30px; 54 background-color: #747474; 55 transform: rotate(-45deg); 9 56 } 10 57 -
super-reactions/trunk/front/assets/dist/css/srea-front.min.css
r2452813 r2494716 1 .srea-loader{border:3px solid rgba(200,200,200,.7);border-top:3px solid rgba(66,66,66,.5);border-radius:50%;width:18px;height:18px;margin:5px;animation:spin 1s linear infinite}.srea- template{display:flex}.srea-template .srea-reaction-item{display:flex;margin-right:10px;align-items:center;height:28px}.srea-template .srea-button{cursor:pointer}.srea-template .srea-template-count{width:23px;text-align:center;font-size:medium}.srea-template .srea-button{outline:0;border:none;background:0 0}.srea-template .srea-button:active,.srea-template .srea-button:focus,.srea-template .srea-button:hover{outline:0;border:none;background:0 0}@keyframes spin{0%{transform:rotate(0)}100%{transform:rotate(360deg)}}1 .srea-loader{border:3px solid rgba(200,200,200,.7);border-top:3px solid rgba(66,66,66,.5);border-radius:50%;width:18px;height:18px;margin:5px;animation:spin 1s linear infinite}.srea-result-badge{color:#fff;padding:6px;text-align:center;line-height:10px;font-size:13px}.srea-result-badge.srea-badge-success{background-color:#3c932c}.srea-result-badge.srea-badge-error{background-color:#932c2c}.srea-modal-close-btn{cursor:pointer;position:relative;display:block;width:30px;height:30px;border:2px solid #747474;left:30px;bottom:20px}.srea-modal-close-btn::before{content:'';position:absolute;top:13px;height:2px;width:30px;background-color:#747474;transform:rotate(45deg)}.srea-modal-close-btn::after{content:'';position:absolute;top:13px;height:2px;width:30px;background-color:#747474;transform:rotate(-45deg)}.srea-template{display:flex}.srea-template .srea-reaction-item{display:flex;margin-right:10px;align-items:center;height:28px}.srea-template .srea-button{cursor:pointer}.srea-template .srea-template-count{width:23px;text-align:center;font-size:medium}.srea-template .srea-button{outline:0;border:none;background:0 0}.srea-template .srea-button:active,.srea-template .srea-button:focus,.srea-template .srea-button:hover{outline:0;border:none;background:0 0}@keyframes spin{0%{transform:rotate(0)}100%{transform:rotate(360deg)}} -
super-reactions/trunk/includes/templates.php
r2461152 r2494716 2 2 3 3 function srea_get_template( string $reaction_slug ) { 4 if ( ! $reaction_slug ) {4 if ( ! $reaction_slug || 'disabled' === $reaction_slug ) { 5 5 return false; 6 6 } -
super-reactions/trunk/languages/super-reactions.pot
r2461152 r2494716 24 24 msgstr "" 25 25 26 #: admin/class-init.php:35, admin/class-settings-view.php:2 626 #: admin/class-init.php:35, admin/class-settings-view.php:28 27 27 msgid "Super Reactions" 28 28 msgstr "" … … 32 32 msgstr "" 33 33 34 #: admin/class-settings-view.php:118 35 msgid "Disable" 34 #: admin/class-settings-view.php:129 35 msgid "Change" 36 msgstr "" 37 38 #: admin/class-settings-view.php:129 39 msgid "Select" 40 msgstr "" 41 42 #: admin/class-settings-view.php:135 43 msgid "Remove" 44 msgstr "" 45 46 #: admin/class-settings-view.php:180 47 msgid "Select reaction template for" 36 48 msgstr "" 37 49 -
super-reactions/trunk/readme.txt
r2461152 r2494716 6 6 Tested up to: 5.6 7 7 Requires PHP: 7.0 8 Stable tag: 1. 2.08 Stable tag: 1.3.0 9 9 License: GPLv3 10 10 License URI: http://www.gnu.org/licenses/gpl-3.0.html … … 23 23 == Changelog == 24 24 25 = 1.3.0 = 26 * New admin panel 27 * General improvements and bug fix 28 25 29 = 1.2.0 = 26 30 * New admin panel -
super-reactions/trunk/super-reactions.php
r2461152 r2494716 4 4 * Plugin Name: Super Reactions 5 5 * Description: Get meaningful reactions from users. 6 * Version: 1. 2.06 * Version: 1.3.0 7 7 * Author: Super Reactions Team 8 8 * Text Domain: super-reactions
Note: See TracChangeset
for help on using the changeset viewer.