Plugin Directory

Changeset 3412305


Ignore:
Timestamp:
12/05/2025 02:54:26 PM (3 months ago)
Author:
repon.wp
Message:

city-zip-based-shipping-rate-for-woocommerce-1.0.0

Location:
city-zip-based-shipping-rate-for-woocommerce
Files:
12 edited

Legend:

Unmodified
Added
Removed
  • city-zip-based-shipping-rate-for-woocommerce/tags/1.0.0/assets/admin.css

    r3410355 r3412305  
    111111}
    112112
     113#city-zip-based-shipping-rate button {
     114    position: relative;
     115}
     116
    113117#city-zip-based-shipping-rate button:has(.dashicons) {
    114118    display: inline-flex;
     
    116120    column-gap: 3px;
    117121}
     122
     123#city-zip-based-shipping-rate .button.in-progress {
     124    color: transparent !important;
     125}
     126
     127#city-zip-based-shipping-rate .button.in-progress:after {
     128    content: "";
     129    width: 20px;
     130    top: calc(50% - 10px);
     131    left: calc(50% - 10px);
     132    position: absolute;
     133    aspect-ratio: 1 / 1;
     134    border-radius: 100px;
     135    box-sizing: border-box;
     136    animation-duration: 1000ms;
     137    border: 2px solid #dbdbdb;
     138    margin-top: calc(var(--size) / -2);
     139    margin-left: calc(var(--size) / -2);
     140    border-top-color: var(--primaryColor) !important;
     141    animation-iteration-count: infinite;
     142    animation-timing-function: linear;
     143    animation-name: city_zip_rotate;
     144}
     145
    118146
    119147#city-zip-based-shipping-rate .input-with-note {
     
    497525    padding: 5px 15px;
    498526}
     527
     528#city-zip-based-shipping-rate .export-error {
     529    color: #b50202;
     530    margin-top: 5px;
     531}
  • city-zip-based-shipping-rate-for-woocommerce/tags/1.0.0/assets/admin.js

    r3410355 r3412305  
    233233
    234234        methods: {
     235            ...wp.hooks.applyFilters('city_zip_based_shipping_rate.methods', {}),
     236
    235237            add_line_item() {
    236238                this.line_items.push({})
  • city-zip-based-shipping-rate-for-woocommerce/tags/1.0.0/assets/admin.min.css

    r3410355 r3412305  
    1 @-webkit-keyframes city_zip_rotate{from{-webkit-transform:rotate(0)}to{-webkit-transform:rotate(360deg)}}@-moz-keyframes city_zip_rotate{from{-moz-transform:rotate(0)}to{-moz-transform:rotate(360deg)}}@keyframes city_zip_rotate{from{transform:rotate(0)}to{transform:rotate(360deg)}}.city-zip-loading-indicator{--size:30px;position:relative;width:var(--size);margin-left:3px;align-self:center;aspect-ratio:1/1;display:inline-block}.city-zip-loading-indicator:after{content:"";width:100%;top:50%;left:50%;z-index:5;position:absolute;aspect-ratio:1/1;border-radius:100px;box-sizing:border-box;animation-duration:1s;border:2px solid #dbdbdb;margin-top:calc(var(--size)/ -2);margin-left:calc(var(--size)/ -2);border-top-color:#4c2dc1!important;animation-iteration-count:infinite;animation-timing-function:linear;animation-name:city_zip_rotate}#city-zip-based-shipping-rate{--primaryColor:#4c2dc1}#city-zip-based-shipping-rate *{box-sizing:border-box}#city-zip-based-shipping-rate.loading .city-zip-form-wrapper,#city-zip-based-shipping-rate:not(.loading) .root-app-loading{display:none}#city-zip-based-shipping-rate .city-zip-form-wrapper{max-width:750px}#city-zip-based-shipping-rate [type=date],#city-zip-based-shipping-rate [type=datetime-local],#city-zip-based-shipping-rate [type=number],#city-zip-based-shipping-rate [type=text],#city-zip-based-shipping-rate [type=time],#city-zip-based-shipping-rate select,#city-zip-based-shipping-rate textarea{border-color:#b5b5b5}#city-zip-based-shipping-rate [type=date],#city-zip-based-shipping-rate [type=number],#city-zip-based-shipping-rate [type=text],#city-zip-based-shipping-rate button,#city-zip-based-shipping-rate select{height:32px}#city-zip-based-shipping-rate [type=number]{width:80px;text-align:center;padding-inline-end:0}#city-zip-based-shipping-rate .form-input-heading{font-size:14px;font-weight:500;margin-bottom:6px}#city-zip-based-shipping-rate .full-width{width:100%;max-width:none}#city-zip-based-shipping-rate button:has(.dashicons){display:inline-flex;align-items:center;column-gap:3px}#city-zip-based-shipping-rate .input-with-note{min-height:40px;position:relative;padding-inline-start:25px}#city-zip-based-shipping-rate .input-with-note input{position:absolute;left:0;top:7px}#city-zip-based-shipping-rate .input-with-note .field-note{margin-top:-1px}#city-zip-based-shipping-rate .field-note{color:#787878;margin-block:3px 0;font-style:italic;font-weight:400}#city-zip-based-shipping-rate .field-row,#city-zip-based-shipping-rate .field-row-column{gap:5px;display:flex}#city-zip-based-shipping-rate .field-row{flex-wrap:wrap}#city-zip-based-shipping-rate .field-row-column{flex-direction:column;row-gap:7px}#city-zip-based-shipping-rate .city-zip-form-insert-form{gap:3px;display:flex;flex-wrap:wrap;align-items:center}#city-zip-based-shipping-rate .city-zip-form-insert-form input{flex:1}#city-zip-based-shipping-rate .city-zip-form-insert-form .form-help-note{flex:0 0 100%;font-style:italic;font-size:90%;margin-top:0}#city-zip-based-shipping-rate .city-zip-form-insert-form .button .dashicons{width:16px;height:16px;font-size:16px}#city-zip-based-shipping-rate .cities-zip-tags{display:flex;row-gap:6px;column-gap:3px;margin-bottom:8px;flex-wrap:wrap}#city-zip-based-shipping-rate .cities-zip-tags>div{color:#fff;font-size:13px;padding:3px 12px;position:relative;border-radius:100px;display:inline-flex;align-items:center;background-color:#4c2dc1}#city-zip-based-shipping-rate .cities-zip-tags>div:has(.dashicons:hover){background-color:#b50202}#city-zip-based-shipping-rate .cities-zip-tags .dashicons{cursor:pointer;font-size:16px;line-height:20px;height:18px;width:18px;margin-top:-1px;margin-inline-end:-8px}#city-zip-based-shipping-rate .city-zip-form-row:has(+.city-zip-form-row){margin-bottom:20px}#city-zip-based-shipping-rate .shipping-rate-line-items{margin-bottom:20px}#city-zip-based-shipping-rate table.table-city-zip-settings{width:100%;border-collapse:collapse;border:1px solid #dbd5d5;background-color:#fff}#city-zip-based-shipping-rate table.table-city-zip-settings+table.table-city-zip-settings{margin-top:8px}#city-zip-based-shipping-rate table.table-city-zip-settings th.vmiddle{vertical-align:middle}#city-zip-based-shipping-rate table.table-city-zip-settings>tbody>tr>:is(td,th),#city-zip-based-shipping-rate table.table-city-zip-settings>thead>tr>:is(td,th){padding-block:10px;padding-inline:14px}#city-zip-based-shipping-rate table.table-city-zip-settings>tbody>tr>:is(td,th){border-block:1px solid #eee}#city-zip-based-shipping-rate table.table-city-zip-settings>tbody>tr:first-child>:is(td,th){border-top-color:#dbd5d5}#city-zip-based-shipping-rate table.table-city-zip-settings>tbody>tr:last-child>:is(td,th){padding-bottom:15px;border-bottom-color:#dbd5d5}#city-zip-based-shipping-rate table.table-city-zip-settings th{width:22%;font-size:13px;min-width:150px;text-align:left;font-weight:500;vertical-align:top;background-color:#fbfbfb;border-right:1px solid #e3e3e3}#city-zip-based-shipping-rate table.table-city-zip-settings .group-heading{display:flex;margin:0;align-items:center}#city-zip-based-shipping-rate table.table-city-zip-settings .group-heading-label{font-weight:500;margin-inline-end:5px}#city-zip-based-shipping-rate table.table-city-zip-settings .group-heading .handle-move{flex:1;align-self:stretch;margin-block:-10px;margin-inline-start:-14px;cursor:move}#city-zip-based-shipping-rate table.table-city-zip-settings .group-heading .handle-move.dashicons{height:auto;flex:0 0 40px;display:flex;align-items:center;aspect-ratio:1/1;justify-content:center}#city-zip-based-shipping-rate table.table-city-zip-settings .group-heading .shipping-rate-tools{display:flex;column-gap:5px;align-items:center;margin-inline-start:auto}#city-zip-based-shipping-rate table.table-city-zip-settings .shipping-rate-tools a{color:inherit;box-shadow:none!important}#city-zip-based-shipping-rate table.table-city-zip-settings.sortable-chosen thead tr{background-color:#eaebff}#city-zip-based-shipping-modal{position:fixed;inset:0;display:flex;align-items:center;justify-content:center;opacity:0;pointer-events:none;visibility:hidden;transition:.2s all;z-index:99999999;background-color:rgba(0,0,0,.4);backdrop-filter:blur(3px)}#city-zip-based-shipping-modal.shown{opacity:1;pointer-events:all;visibility:visible}#city-zip-based-shipping-modal .modal-header .btn-modal-close{position:absolute;top:4px;right:4px;cursor:pointer;z-index:9999}#city-zip-based-shipping-modal .modal-content{width:90%;max-width:550px;border-radius:5px;position:relative;background-color:#fff;overflow:hidden;box-shadow:0 0 40px 15px rgba(0,0,0,.3)}#city-zip-based-shipping-modal .modal-footer,#city-zip-based-shipping-modal .modal-header{display:flex;column-gap:5px;align-items:center;padding:15px 20px}#city-zip-based-shipping-modal .modal-header{background-color:#fbfbfb;border-bottom:1px solid #eeeff1}#city-zip-based-shipping-modal .modal-footer{padding-block:5px 25px}#city-zip-based-shipping-modal .modal-header h2{margin:0;font-size:20px}#city-zip-based-shipping-modal .modal-body{padding:20px;font-size:14px;line-height:1.5}#city-zip-based-shipping-modal .modal-body h3{margin-block:0 10px}#city-zip-based-shipping-modal .modal-body p{font-size:inherit;line-height:inherit;margin-top:0}#city-zip-based-shipping-modal .modal-footer .button{font-weight:500;color:#505763;padding-block:3px;position:relative;min-width:120px;text-align:center;border-color:#e3e5e8;background-color:#fff;transition:all 150ms}#city-zip-based-shipping-modal .modal-footer .button.button-primary{color:#fff;border-color:#4c2dc1;background-color:#4c2dc1}#city-zip-based-shipping-modal .modal-footer .button.button-primary:hover{background-color:#643cf1}#city-zip-based-shipping-modal:not([data-modal=bulk-import]) .bulk-import,#city-zip-based-shipping-modal:not([data-modal=max-shipping]) .max-shipping-content,#city-zip-based-shipping-modal:not([data-modal=max-zip-codes]) .max-zip-codes-content{display:none!important}#city-zip-based-shipping-rate .btn-add-line-item{color:#4c2dc1;display:block;width:100%;text-align:center;font-size:18px;line-height:60px;font-weight:500;border-style:dashed;margin-top:20px;box-shadow:none!important;border-color:#4c2dc1}#city-zip-based-shipping-rate .bulk-import-section-guide{font-size:14px;line-height:1.6;text-align:center;margin-bottom:20px}#city-zip-based-shipping-rate .separator-or{position:relative;display:flex;margin-block:15px;align-items:center;justify-content:center}#city-zip-based-shipping-rate .separator-or::after{position:relative;content:attr(data-text);padding-inline:6px;background-color:#f0f0f1;z-index:4}#city-zip-based-shipping-rate .separator-or::before{content:"";height:1px;inset-inline:0;position:absolute;background-color:#ccc}#city-zip-based-shipping-rate .bulk-import-upload-section{margin:5px;color:#000;display:flex;padding:10px 30px;font-weight:500;align-items:center;flex-direction:column;justify-content:center;background-color:#fff;outline-offset:5px;cursor:pointer;outline:1px dashed var(--primaryColor)}#city-zip-based-shipping-rate .bulk-import-upload-section input{display:none}#city-zip-based-shipping-rate .bulk-import-upload-section .icon-upload{font-size:40px;height:40px;width:40px}#city-zip-based-shipping-rate .bulk-import-upload-section:not([data-status=importing]) .bulk-data-importing-count{display:none}#city-zip-based-shipping-rate .bulk-import-error{color:#b50202;text-align:center;margin-top:15px;padding:5px 15px}
     1@-webkit-keyframes city_zip_rotate{from{-webkit-transform:rotate(0)}to{-webkit-transform:rotate(360deg)}}@-moz-keyframes city_zip_rotate{from{-moz-transform:rotate(0)}to{-moz-transform:rotate(360deg)}}@keyframes city_zip_rotate{from{transform:rotate(0)}to{transform:rotate(360deg)}}.city-zip-loading-indicator{--size:30px;position:relative;width:var(--size);margin-left:3px;align-self:center;aspect-ratio:1/1;display:inline-block}.city-zip-loading-indicator:after{content:"";width:100%;top:50%;left:50%;z-index:5;position:absolute;aspect-ratio:1/1;border-radius:100px;box-sizing:border-box;animation-duration:1s;border:2px solid #dbdbdb;margin-top:calc(var(--size)/ -2);margin-left:calc(var(--size)/ -2);border-top-color:#4c2dc1!important;animation-iteration-count:infinite;animation-timing-function:linear;animation-name:city_zip_rotate}#city-zip-based-shipping-rate{--primaryColor:#4c2dc1}#city-zip-based-shipping-rate *{box-sizing:border-box}#city-zip-based-shipping-rate.loading .city-zip-form-wrapper,#city-zip-based-shipping-rate:not(.loading) .root-app-loading{display:none}#city-zip-based-shipping-rate .city-zip-form-wrapper{max-width:750px}#city-zip-based-shipping-rate [type=date],#city-zip-based-shipping-rate [type=datetime-local],#city-zip-based-shipping-rate [type=number],#city-zip-based-shipping-rate [type=text],#city-zip-based-shipping-rate [type=time],#city-zip-based-shipping-rate select,#city-zip-based-shipping-rate textarea{border-color:#b5b5b5}#city-zip-based-shipping-rate [type=date],#city-zip-based-shipping-rate [type=number],#city-zip-based-shipping-rate [type=text],#city-zip-based-shipping-rate button,#city-zip-based-shipping-rate select{height:32px}#city-zip-based-shipping-rate [type=number]{width:80px;text-align:center;padding-inline-end:0}#city-zip-based-shipping-rate .form-input-heading{font-size:14px;font-weight:500;margin-bottom:6px}#city-zip-based-shipping-rate .full-width{width:100%;max-width:none}#city-zip-based-shipping-rate button{position:relative}#city-zip-based-shipping-rate button:has(.dashicons){display:inline-flex;align-items:center;column-gap:3px}#city-zip-based-shipping-rate .button.in-progress{color:transparent!important}#city-zip-based-shipping-rate .button.in-progress:after{content:"";width:20px;top:calc(50% - 10px);left:calc(50% - 10px);position:absolute;aspect-ratio:1/1;border-radius:100px;box-sizing:border-box;animation-duration:1s;border:2px solid #dbdbdb;margin-top:calc(var(--size)/ -2);margin-left:calc(var(--size)/ -2);border-top-color:var(--primaryColor)!important;animation-iteration-count:infinite;animation-timing-function:linear;animation-name:city_zip_rotate}#city-zip-based-shipping-rate .input-with-note{min-height:40px;position:relative;padding-inline-start:25px}#city-zip-based-shipping-rate .input-with-note input{position:absolute;left:0;top:7px}#city-zip-based-shipping-rate .input-with-note .field-note{margin-top:-1px}#city-zip-based-shipping-rate .field-note{color:#787878;margin-block:3px 0;font-style:italic;font-weight:400}#city-zip-based-shipping-rate .field-row,#city-zip-based-shipping-rate .field-row-column{gap:5px;display:flex}#city-zip-based-shipping-rate .field-row{flex-wrap:wrap}#city-zip-based-shipping-rate .field-row-column{flex-direction:column;row-gap:7px}#city-zip-based-shipping-rate .city-zip-form-insert-form{gap:3px;display:flex;flex-wrap:wrap;align-items:center}#city-zip-based-shipping-rate .city-zip-form-insert-form input{flex:1}#city-zip-based-shipping-rate .city-zip-form-insert-form .form-help-note{flex:0 0 100%;font-style:italic;font-size:90%;margin-top:0}#city-zip-based-shipping-rate .city-zip-form-insert-form .button .dashicons{width:16px;height:16px;font-size:16px}#city-zip-based-shipping-rate .cities-zip-tags{display:flex;row-gap:6px;column-gap:3px;margin-bottom:8px;flex-wrap:wrap}#city-zip-based-shipping-rate .cities-zip-tags>div{color:#fff;font-size:13px;padding:3px 12px;position:relative;border-radius:100px;display:inline-flex;align-items:center;background-color:#4c2dc1}#city-zip-based-shipping-rate .cities-zip-tags>div:has(.dashicons:hover){background-color:#b50202}#city-zip-based-shipping-rate .cities-zip-tags .dashicons{cursor:pointer;font-size:16px;line-height:20px;height:18px;width:18px;margin-top:-1px;margin-inline-end:-8px}#city-zip-based-shipping-rate .city-zip-form-row:has(+.city-zip-form-row){margin-bottom:20px}#city-zip-based-shipping-rate .shipping-rate-line-items{margin-bottom:20px}#city-zip-based-shipping-rate table.table-city-zip-settings{width:100%;border-collapse:collapse;border:1px solid #dbd5d5;background-color:#fff}#city-zip-based-shipping-rate table.table-city-zip-settings+table.table-city-zip-settings{margin-top:8px}#city-zip-based-shipping-rate table.table-city-zip-settings th.vmiddle{vertical-align:middle}#city-zip-based-shipping-rate table.table-city-zip-settings>tbody>tr>:is(td,th),#city-zip-based-shipping-rate table.table-city-zip-settings>thead>tr>:is(td,th){padding-block:10px;padding-inline:14px}#city-zip-based-shipping-rate table.table-city-zip-settings>tbody>tr>:is(td,th){border-block:1px solid #eee}#city-zip-based-shipping-rate table.table-city-zip-settings>tbody>tr:first-child>:is(td,th){border-top-color:#dbd5d5}#city-zip-based-shipping-rate table.table-city-zip-settings>tbody>tr:last-child>:is(td,th){padding-bottom:15px;border-bottom-color:#dbd5d5}#city-zip-based-shipping-rate table.table-city-zip-settings th{width:22%;font-size:13px;min-width:150px;text-align:left;font-weight:500;vertical-align:top;background-color:#fbfbfb;border-right:1px solid #e3e3e3}#city-zip-based-shipping-rate table.table-city-zip-settings .group-heading{display:flex;margin:0;align-items:center}#city-zip-based-shipping-rate table.table-city-zip-settings .group-heading-label{font-weight:500;margin-inline-end:5px}#city-zip-based-shipping-rate table.table-city-zip-settings .group-heading .handle-move{flex:1;align-self:stretch;margin-block:-10px;margin-inline-start:-14px;cursor:move}#city-zip-based-shipping-rate table.table-city-zip-settings .group-heading .handle-move.dashicons{height:auto;flex:0 0 40px;display:flex;align-items:center;aspect-ratio:1/1;justify-content:center}#city-zip-based-shipping-rate table.table-city-zip-settings .group-heading .shipping-rate-tools{display:flex;column-gap:5px;align-items:center;margin-inline-start:auto}#city-zip-based-shipping-rate table.table-city-zip-settings .shipping-rate-tools a{color:inherit;box-shadow:none!important}#city-zip-based-shipping-rate table.table-city-zip-settings.sortable-chosen thead tr{background-color:#eaebff}#city-zip-based-shipping-modal{position:fixed;inset:0;display:flex;align-items:center;justify-content:center;opacity:0;pointer-events:none;visibility:hidden;transition:.2s all;z-index:99999999;background-color:rgba(0,0,0,.4);backdrop-filter:blur(3px)}#city-zip-based-shipping-modal.shown{opacity:1;pointer-events:all;visibility:visible}#city-zip-based-shipping-modal .modal-header .btn-modal-close{position:absolute;top:4px;right:4px;cursor:pointer;z-index:9999}#city-zip-based-shipping-modal .modal-content{width:90%;max-width:550px;border-radius:5px;position:relative;background-color:#fff;overflow:hidden;box-shadow:0 0 40px 15px rgba(0,0,0,.3)}#city-zip-based-shipping-modal .modal-footer,#city-zip-based-shipping-modal .modal-header{display:flex;column-gap:5px;align-items:center;padding:15px 20px}#city-zip-based-shipping-modal .modal-header{background-color:#fbfbfb;border-bottom:1px solid #eeeff1}#city-zip-based-shipping-modal .modal-footer{padding-block:5px 25px}#city-zip-based-shipping-modal .modal-header h2{margin:0;font-size:20px}#city-zip-based-shipping-modal .modal-body{padding:20px;font-size:14px;line-height:1.5}#city-zip-based-shipping-modal .modal-body h3{margin-block:0 10px}#city-zip-based-shipping-modal .modal-body p{font-size:inherit;line-height:inherit;margin-top:0}#city-zip-based-shipping-modal .modal-footer .button{font-weight:500;color:#505763;padding-block:3px;position:relative;min-width:120px;text-align:center;border-color:#e3e5e8;background-color:#fff;transition:all 150ms}#city-zip-based-shipping-modal .modal-footer .button.button-primary{color:#fff;border-color:#4c2dc1;background-color:#4c2dc1}#city-zip-based-shipping-modal .modal-footer .button.button-primary:hover{background-color:#643cf1}#city-zip-based-shipping-modal:not([data-modal=bulk-import]) .bulk-import,#city-zip-based-shipping-modal:not([data-modal=max-shipping]) .max-shipping-content,#city-zip-based-shipping-modal:not([data-modal=max-zip-codes]) .max-zip-codes-content{display:none!important}#city-zip-based-shipping-rate .btn-add-line-item{color:#4c2dc1;display:block;width:100%;text-align:center;font-size:18px;line-height:60px;font-weight:500;border-style:dashed;margin-top:20px;box-shadow:none!important;border-color:#4c2dc1}#city-zip-based-shipping-rate .bulk-import-section-guide{font-size:14px;line-height:1.6;text-align:center;margin-bottom:20px}#city-zip-based-shipping-rate .separator-or{position:relative;display:flex;margin-block:15px;align-items:center;justify-content:center}#city-zip-based-shipping-rate .separator-or::after{position:relative;content:attr(data-text);padding-inline:6px;background-color:#f0f0f1;z-index:4}#city-zip-based-shipping-rate .separator-or::before{content:"";height:1px;inset-inline:0;position:absolute;background-color:#ccc}#city-zip-based-shipping-rate .bulk-import-upload-section{margin:5px;color:#000;display:flex;padding:10px 30px;font-weight:500;align-items:center;flex-direction:column;justify-content:center;background-color:#fff;outline-offset:5px;cursor:pointer;outline:1px dashed var(--primaryColor)}#city-zip-based-shipping-rate .bulk-import-upload-section input{display:none}#city-zip-based-shipping-rate .bulk-import-upload-section .icon-upload{font-size:40px;height:40px;width:40px}#city-zip-based-shipping-rate .bulk-import-upload-section:not([data-status=importing]) .bulk-data-importing-count{display:none}#city-zip-based-shipping-rate .bulk-import-error{color:#b50202;text-align:center;margin-top:15px;padding:5px 15px}#city-zip-based-shipping-rate .export-error{color:#b50202;margin-top:5px}
  • city-zip-based-shipping-rate-for-woocommerce/tags/1.0.0/assets/admin.min.js

    r3410355 r3412305  
    1 (e=>{let{__:a,sprintf:s}=wp.i18n,p=wp.hooks.applyFilters("city_zip_based_shipping_rate.has_pro",!1);var t={template:"#city-zip-based-shipping-rate-line-item",props:{rateData:{type:Object,default:{}},number:{type:Number,default:0},rateType:{default:"",type:String}},data(){return{id:(t=66,e=(new Date).getTime()+t,a="undefined"!=typeof performance&&performance.now&&1e3*performance.now()||0,"xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx".replace(/[xy]/g,function(t){var i=16*Math.random();return 0<e?(i=(e+i)%16|0,e=Math.floor(e/16)):(i=(a+i)%16|0,a=Math.floor(a/16)),("x"===t?i:3&i|8).toString(16)})),zip_input_value:"",city_input_value:"",...city_zip_based_shipping_rate.line_item_models,...this.rateData};var t,e,a},computed:{shipping_rate_data(){var t=JSON.parse(JSON.stringify(this.$data));return delete t.zip_input_value,delete t.city_input_value,t}},created(){if("default_cost"==this.rateType)return this.$root.default_shipping_cost=this.shipping_rate_data;this.$root.line_items[this.number]=this.shipping_rate_data},watch:{rateData:{handler(t){for(var i in t)this[i]=t[i]},once:!0},shipping_rate_data(t){if("default_cost"==this.rateType)return this.$root.default_shipping_cost=t;this.$root.line_items[this.number]=t}},mounted(){let i=this;e(this.$refs.city_input).on("keydown",function(t){"Enter"===t.key&&(t.preventDefault(),i.add_cities())}),e(this.$refs.zip_code_input).on("keydown",function(t){"Enter"===t.key&&(t.preventDefault(),i.add_zipcode())})},methods:{delete_item(){confirm(a("Do you want to delete this rate?","city-zip-based-shipping-rate-for-woocommerce"))&&this.$root.line_items.splice(this.number,1)},add_cities(){if(this.city_input_value){var t=this.$root.number_of_city_added,i=this.city_input_value.split(",").map(t=>t.trim());if(10<t+i.length&&!p)return this.$root.modal="max-shipping";i.forEach(t=>{t.length&&!this.cities.includes(t)&&this.cities.push(t)}),this.city_input_value=""}},remove_city(t){var i=s(a('Do you want to delete "%s" city?',"city-zip-based-shipping-rate-for-woocommerce"),this.cities[t]);confirm(i)&&this.cities.splice(t,1)},add_zipcode(){if(this.zip_input_value){var t=this.zip_input_value.split(",").map(t=>t.trim());if(10<this.zip_codes.length+t.length&&!p)return this.$root.modal="max-zip-codes";t.forEach(t=>{t.length&&!this.zip_codes.includes(t)&&this.zip_codes.push(t)}),this.zip_input_value=""}},remove_zip_code(t){var i=s(a('Do you want to delete "%s" zip/postal code?',"city-zip-based-shipping-rate-for-woocommerce"),this.zip_codes[t]);confirm(i)&&this.zip_codes.splice(t,1)}}};let n=wp.hooks.applyFilters("city_zip_based_shipping_rate.helper_modal",{modal:null});if(t={components:{"shipping-rate-line-item":t},data(){return{line_items:[],default_shipping_cost:{},city_zip_no_match:"hide_shipping_rate",...n}},computed:{get_zip_based_settings_data(){var t,i=JSON.parse(JSON.stringify(this.$data));for(t in n)delete i[t];return JSON.stringify(i)},number_of_city_added(){let i=[];return this.line_items.forEach(t=>i=i.concat(t.cities)),i.length}},watch:{modal(t){e("#city-zip-based-shipping-modal").attr("data-modal",t),t?.length?e("#city-zip-based-shipping-modal").addClass("shown"):e("#city-zip-based-shipping-modal").removeClass("shown")}},mounted(){let i=this;e(this.$el.parentElement).removeClass("loading"),e("#mainform .woocommerce-save-button").prop("disabled",!1),e(document).keyup(function(t){"Escape"===t.key&&(i.modal=null)}),wp.hooks.doAction("city_zip_based_shipping_rate.mounted",this)},methods:{add_line_item(){this.line_items.push({})},on_order_change(t){var i=this.line_items.splice(t.oldIndex,1)[0];this.line_items.splice(t.newIndex,0,i)}}},e("#city-zip-based-shipping-rate").length){window.City_Zip_Based_Shipping_Rate_App=Vue.createApp(t).use(sortablejs).mount("#city-zip-based-shipping-rate");var i=e("#city-zip-based-shipping-rate").data("shipping-rates");if("object"==typeof i)for(var o in i)City_Zip_Based_Shipping_Rate_App[o]=i[o]}e("#city-zip-based-shipping-modal").on("click",".btn-modal-close",function(t){t.preventDefault(),window.City_Zip_Based_Shipping_Rate_App.modal=null})})(jQuery);
     1(e=>{let{__:a,sprintf:s}=wp.i18n,p=wp.hooks.applyFilters("city_zip_based_shipping_rate.has_pro",!1);var i={template:"#city-zip-based-shipping-rate-line-item",props:{rateData:{type:Object,default:{}},number:{type:Number,default:0},rateType:{default:"",type:String}},data(){return{id:(i=66,e=(new Date).getTime()+i,a="undefined"!=typeof performance&&performance.now&&1e3*performance.now()||0,"xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx".replace(/[xy]/g,function(i){var t=16*Math.random();return 0<e?(t=(e+t)%16|0,e=Math.floor(e/16)):(t=(a+t)%16|0,a=Math.floor(a/16)),("x"===i?t:3&t|8).toString(16)})),zip_input_value:"",city_input_value:"",...city_zip_based_shipping_rate.line_item_models,...this.rateData};var i,e,a},computed:{shipping_rate_data(){var i=JSON.parse(JSON.stringify(this.$data));return delete i.zip_input_value,delete i.city_input_value,i}},created(){if("default_cost"==this.rateType)return this.$root.default_shipping_cost=this.shipping_rate_data;this.$root.line_items[this.number]=this.shipping_rate_data},watch:{rateData:{handler(i){for(var t in i)this[t]=i[t]},once:!0},shipping_rate_data(i){if("default_cost"==this.rateType)return this.$root.default_shipping_cost=i;this.$root.line_items[this.number]=i}},mounted(){let t=this;e(this.$refs.city_input).on("keydown",function(i){"Enter"===i.key&&(i.preventDefault(),t.add_cities())}),e(this.$refs.zip_code_input).on("keydown",function(i){"Enter"===i.key&&(i.preventDefault(),t.add_zipcode())})},methods:{delete_item(){confirm(a("Do you want to delete this rate?","city-zip-based-shipping-rate-for-woocommerce"))&&this.$root.line_items.splice(this.number,1)},add_cities(){if(this.city_input_value){var i=this.$root.number_of_city_added,t=this.city_input_value.split(",").map(i=>i.trim());if(10<i+t.length&&!p)return this.$root.modal="max-shipping";t.forEach(i=>{i.length&&!this.cities.includes(i)&&this.cities.push(i)}),this.city_input_value=""}},remove_city(i){var t=s(a('Do you want to delete "%s" city?',"city-zip-based-shipping-rate-for-woocommerce"),this.cities[i]);confirm(t)&&this.cities.splice(i,1)},add_zipcode(){if(this.zip_input_value){var i=this.zip_input_value.split(",").map(i=>i.trim());if(10<this.zip_codes.length+i.length&&!p)return this.$root.modal="max-zip-codes";i.forEach(i=>{i.length&&!this.zip_codes.includes(i)&&this.zip_codes.push(i)}),this.zip_input_value=""}},remove_zip_code(i){var t=s(a('Do you want to delete "%s" zip/postal code?',"city-zip-based-shipping-rate-for-woocommerce"),this.zip_codes[i]);confirm(t)&&this.zip_codes.splice(i,1)}}};let n=wp.hooks.applyFilters("city_zip_based_shipping_rate.helper_modal",{modal:null});if(i={components:{"shipping-rate-line-item":i},data(){return{line_items:[],default_shipping_cost:{},city_zip_no_match:"hide_shipping_rate",...n}},computed:{get_zip_based_settings_data(){var i,t=JSON.parse(JSON.stringify(this.$data));for(i in n)delete t[i];return JSON.stringify(t)},number_of_city_added(){let t=[];return this.line_items.forEach(i=>t=t.concat(i.cities)),t.length}},watch:{modal(i){e("#city-zip-based-shipping-modal").attr("data-modal",i),i?.length?e("#city-zip-based-shipping-modal").addClass("shown"):e("#city-zip-based-shipping-modal").removeClass("shown")}},mounted(){let t=this;e(this.$el.parentElement).removeClass("loading"),e("#mainform .woocommerce-save-button").prop("disabled",!1),e(document).keyup(function(i){"Escape"===i.key&&(t.modal=null)}),wp.hooks.doAction("city_zip_based_shipping_rate.mounted",this)},methods:{...wp.hooks.applyFilters("city_zip_based_shipping_rate.methods",{}),add_line_item(){this.line_items.push({})},on_order_change(i){var t=this.line_items.splice(i.oldIndex,1)[0];this.line_items.splice(i.newIndex,0,t)}}},e("#city-zip-based-shipping-rate").length){window.City_Zip_Based_Shipping_Rate_App=Vue.createApp(i).use(sortablejs).mount("#city-zip-based-shipping-rate");var t=e("#city-zip-based-shipping-rate").data("shipping-rates");if("object"==typeof t)for(var o in t)City_Zip_Based_Shipping_Rate_App[o]=t[o]}e("#city-zip-based-shipping-modal").on("click",".btn-modal-close",function(i){i.preventDefault(),window.City_Zip_Based_Shipping_Rate_App.modal=null})})(jQuery);
  • city-zip-based-shipping-rate-for-woocommerce/tags/1.0.0/inc/class-admin.php

    r3410355 r3412305  
    4040
    4141        do_action('city_zip_based_shipping_rate/admin_enqueue_scripts');
    42 
    4342        wp_enqueue_script('city-zip-based-shipping-rate-admin', CITY_ZIP_BASED_SHIPPING_RATE_URI . 'assets/admin.min.js', array('jquery', 'wp-i18n', 'city-zip-based-shipping-rate-vue', 'city-zip-based-shipping-rate-vue-sortable'), Utils::get_plugin_version(), true);
    4443
    45         wp_localize_script('city-zip-based-shipping-rate-admin', 'city_zip_based_shipping_rate', array(
     44        $city_zip_based_shipping_rate = apply_filters('city_zip_based_shipping_rate/admin_object', array(
    4645            'ajax_url' => admin_url('admin-ajax.php'),
    4746            'line_item_models' => Shipping_Method_Options::get_line_item_models()
    4847        ));
     48
     49        wp_localize_script('city-zip-based-shipping-rate-admin', 'city_zip_based_shipping_rate', $city_zip_based_shipping_rate);
    4950    }
    5051
     
    299300                                </td>
    300301                            </tr>
     302
     303                            <?php
     304                            $shipping_method_settings = Shipping_Method_Options::get_instance()->get_setting_options();
     305                            foreach ($shipping_method_settings as $key => $setting_options) {
     306                                if (isset($setting_options['callback']) && is_callable($setting_options['callback'])) {
     307                                    call_user_func($setting_options['callback']);
     308                                }
     309                            } ?>
     310
    301311                        </tbody>
    302312                    </table>
     
    326336            </td>
    327337        </tr>
    328     <?php
     338<?php
    329339        return ob_get_clean();
    330340    }
  • city-zip-based-shipping-rate-for-woocommerce/tags/1.0.0/inc/class-shipping-method-options.php

    r3410355 r3412305  
    7171
    7272    /**
     73     * Get options of setting
     74     *
     75     * @since 1.0,0
     76     * @return array
     77     */
     78    public function get_setting_options() {
     79        $options = apply_filters('city_zip_based_shipping_rate/shipping_method_setting_options', []);
     80
     81        $options = array_map(function ($option) {
     82            if (!isset($option['priority'])) {
     83                $option['priority'] = 10;
     84            }
     85
     86            $option['priority'] = floatval($option['priority']);
     87
     88            return $option;
     89        }, $options);
     90
     91        usort($options, fn($a, $b) => $a['priority'] > $b['priority'] ? 1 : -1);
     92
     93        return $options;
     94    }
     95
     96    /**
    7397     * Get line rate options
    7498     *
  • city-zip-based-shipping-rate-for-woocommerce/trunk/assets/admin.css

    r3410355 r3412305  
    111111}
    112112
     113#city-zip-based-shipping-rate button {
     114    position: relative;
     115}
     116
    113117#city-zip-based-shipping-rate button:has(.dashicons) {
    114118    display: inline-flex;
     
    116120    column-gap: 3px;
    117121}
     122
     123#city-zip-based-shipping-rate .button.in-progress {
     124    color: transparent !important;
     125}
     126
     127#city-zip-based-shipping-rate .button.in-progress:after {
     128    content: "";
     129    width: 20px;
     130    top: calc(50% - 10px);
     131    left: calc(50% - 10px);
     132    position: absolute;
     133    aspect-ratio: 1 / 1;
     134    border-radius: 100px;
     135    box-sizing: border-box;
     136    animation-duration: 1000ms;
     137    border: 2px solid #dbdbdb;
     138    margin-top: calc(var(--size) / -2);
     139    margin-left: calc(var(--size) / -2);
     140    border-top-color: var(--primaryColor) !important;
     141    animation-iteration-count: infinite;
     142    animation-timing-function: linear;
     143    animation-name: city_zip_rotate;
     144}
     145
    118146
    119147#city-zip-based-shipping-rate .input-with-note {
     
    497525    padding: 5px 15px;
    498526}
     527
     528#city-zip-based-shipping-rate .export-error {
     529    color: #b50202;
     530    margin-top: 5px;
     531}
  • city-zip-based-shipping-rate-for-woocommerce/trunk/assets/admin.js

    r3410355 r3412305  
    233233
    234234        methods: {
     235            ...wp.hooks.applyFilters('city_zip_based_shipping_rate.methods', {}),
     236
    235237            add_line_item() {
    236238                this.line_items.push({})
  • city-zip-based-shipping-rate-for-woocommerce/trunk/assets/admin.min.css

    r3410355 r3412305  
    1 @-webkit-keyframes city_zip_rotate{from{-webkit-transform:rotate(0)}to{-webkit-transform:rotate(360deg)}}@-moz-keyframes city_zip_rotate{from{-moz-transform:rotate(0)}to{-moz-transform:rotate(360deg)}}@keyframes city_zip_rotate{from{transform:rotate(0)}to{transform:rotate(360deg)}}.city-zip-loading-indicator{--size:30px;position:relative;width:var(--size);margin-left:3px;align-self:center;aspect-ratio:1/1;display:inline-block}.city-zip-loading-indicator:after{content:"";width:100%;top:50%;left:50%;z-index:5;position:absolute;aspect-ratio:1/1;border-radius:100px;box-sizing:border-box;animation-duration:1s;border:2px solid #dbdbdb;margin-top:calc(var(--size)/ -2);margin-left:calc(var(--size)/ -2);border-top-color:#4c2dc1!important;animation-iteration-count:infinite;animation-timing-function:linear;animation-name:city_zip_rotate}#city-zip-based-shipping-rate{--primaryColor:#4c2dc1}#city-zip-based-shipping-rate *{box-sizing:border-box}#city-zip-based-shipping-rate.loading .city-zip-form-wrapper,#city-zip-based-shipping-rate:not(.loading) .root-app-loading{display:none}#city-zip-based-shipping-rate .city-zip-form-wrapper{max-width:750px}#city-zip-based-shipping-rate [type=date],#city-zip-based-shipping-rate [type=datetime-local],#city-zip-based-shipping-rate [type=number],#city-zip-based-shipping-rate [type=text],#city-zip-based-shipping-rate [type=time],#city-zip-based-shipping-rate select,#city-zip-based-shipping-rate textarea{border-color:#b5b5b5}#city-zip-based-shipping-rate [type=date],#city-zip-based-shipping-rate [type=number],#city-zip-based-shipping-rate [type=text],#city-zip-based-shipping-rate button,#city-zip-based-shipping-rate select{height:32px}#city-zip-based-shipping-rate [type=number]{width:80px;text-align:center;padding-inline-end:0}#city-zip-based-shipping-rate .form-input-heading{font-size:14px;font-weight:500;margin-bottom:6px}#city-zip-based-shipping-rate .full-width{width:100%;max-width:none}#city-zip-based-shipping-rate button:has(.dashicons){display:inline-flex;align-items:center;column-gap:3px}#city-zip-based-shipping-rate .input-with-note{min-height:40px;position:relative;padding-inline-start:25px}#city-zip-based-shipping-rate .input-with-note input{position:absolute;left:0;top:7px}#city-zip-based-shipping-rate .input-with-note .field-note{margin-top:-1px}#city-zip-based-shipping-rate .field-note{color:#787878;margin-block:3px 0;font-style:italic;font-weight:400}#city-zip-based-shipping-rate .field-row,#city-zip-based-shipping-rate .field-row-column{gap:5px;display:flex}#city-zip-based-shipping-rate .field-row{flex-wrap:wrap}#city-zip-based-shipping-rate .field-row-column{flex-direction:column;row-gap:7px}#city-zip-based-shipping-rate .city-zip-form-insert-form{gap:3px;display:flex;flex-wrap:wrap;align-items:center}#city-zip-based-shipping-rate .city-zip-form-insert-form input{flex:1}#city-zip-based-shipping-rate .city-zip-form-insert-form .form-help-note{flex:0 0 100%;font-style:italic;font-size:90%;margin-top:0}#city-zip-based-shipping-rate .city-zip-form-insert-form .button .dashicons{width:16px;height:16px;font-size:16px}#city-zip-based-shipping-rate .cities-zip-tags{display:flex;row-gap:6px;column-gap:3px;margin-bottom:8px;flex-wrap:wrap}#city-zip-based-shipping-rate .cities-zip-tags>div{color:#fff;font-size:13px;padding:3px 12px;position:relative;border-radius:100px;display:inline-flex;align-items:center;background-color:#4c2dc1}#city-zip-based-shipping-rate .cities-zip-tags>div:has(.dashicons:hover){background-color:#b50202}#city-zip-based-shipping-rate .cities-zip-tags .dashicons{cursor:pointer;font-size:16px;line-height:20px;height:18px;width:18px;margin-top:-1px;margin-inline-end:-8px}#city-zip-based-shipping-rate .city-zip-form-row:has(+.city-zip-form-row){margin-bottom:20px}#city-zip-based-shipping-rate .shipping-rate-line-items{margin-bottom:20px}#city-zip-based-shipping-rate table.table-city-zip-settings{width:100%;border-collapse:collapse;border:1px solid #dbd5d5;background-color:#fff}#city-zip-based-shipping-rate table.table-city-zip-settings+table.table-city-zip-settings{margin-top:8px}#city-zip-based-shipping-rate table.table-city-zip-settings th.vmiddle{vertical-align:middle}#city-zip-based-shipping-rate table.table-city-zip-settings>tbody>tr>:is(td,th),#city-zip-based-shipping-rate table.table-city-zip-settings>thead>tr>:is(td,th){padding-block:10px;padding-inline:14px}#city-zip-based-shipping-rate table.table-city-zip-settings>tbody>tr>:is(td,th){border-block:1px solid #eee}#city-zip-based-shipping-rate table.table-city-zip-settings>tbody>tr:first-child>:is(td,th){border-top-color:#dbd5d5}#city-zip-based-shipping-rate table.table-city-zip-settings>tbody>tr:last-child>:is(td,th){padding-bottom:15px;border-bottom-color:#dbd5d5}#city-zip-based-shipping-rate table.table-city-zip-settings th{width:22%;font-size:13px;min-width:150px;text-align:left;font-weight:500;vertical-align:top;background-color:#fbfbfb;border-right:1px solid #e3e3e3}#city-zip-based-shipping-rate table.table-city-zip-settings .group-heading{display:flex;margin:0;align-items:center}#city-zip-based-shipping-rate table.table-city-zip-settings .group-heading-label{font-weight:500;margin-inline-end:5px}#city-zip-based-shipping-rate table.table-city-zip-settings .group-heading .handle-move{flex:1;align-self:stretch;margin-block:-10px;margin-inline-start:-14px;cursor:move}#city-zip-based-shipping-rate table.table-city-zip-settings .group-heading .handle-move.dashicons{height:auto;flex:0 0 40px;display:flex;align-items:center;aspect-ratio:1/1;justify-content:center}#city-zip-based-shipping-rate table.table-city-zip-settings .group-heading .shipping-rate-tools{display:flex;column-gap:5px;align-items:center;margin-inline-start:auto}#city-zip-based-shipping-rate table.table-city-zip-settings .shipping-rate-tools a{color:inherit;box-shadow:none!important}#city-zip-based-shipping-rate table.table-city-zip-settings.sortable-chosen thead tr{background-color:#eaebff}#city-zip-based-shipping-modal{position:fixed;inset:0;display:flex;align-items:center;justify-content:center;opacity:0;pointer-events:none;visibility:hidden;transition:.2s all;z-index:99999999;background-color:rgba(0,0,0,.4);backdrop-filter:blur(3px)}#city-zip-based-shipping-modal.shown{opacity:1;pointer-events:all;visibility:visible}#city-zip-based-shipping-modal .modal-header .btn-modal-close{position:absolute;top:4px;right:4px;cursor:pointer;z-index:9999}#city-zip-based-shipping-modal .modal-content{width:90%;max-width:550px;border-radius:5px;position:relative;background-color:#fff;overflow:hidden;box-shadow:0 0 40px 15px rgba(0,0,0,.3)}#city-zip-based-shipping-modal .modal-footer,#city-zip-based-shipping-modal .modal-header{display:flex;column-gap:5px;align-items:center;padding:15px 20px}#city-zip-based-shipping-modal .modal-header{background-color:#fbfbfb;border-bottom:1px solid #eeeff1}#city-zip-based-shipping-modal .modal-footer{padding-block:5px 25px}#city-zip-based-shipping-modal .modal-header h2{margin:0;font-size:20px}#city-zip-based-shipping-modal .modal-body{padding:20px;font-size:14px;line-height:1.5}#city-zip-based-shipping-modal .modal-body h3{margin-block:0 10px}#city-zip-based-shipping-modal .modal-body p{font-size:inherit;line-height:inherit;margin-top:0}#city-zip-based-shipping-modal .modal-footer .button{font-weight:500;color:#505763;padding-block:3px;position:relative;min-width:120px;text-align:center;border-color:#e3e5e8;background-color:#fff;transition:all 150ms}#city-zip-based-shipping-modal .modal-footer .button.button-primary{color:#fff;border-color:#4c2dc1;background-color:#4c2dc1}#city-zip-based-shipping-modal .modal-footer .button.button-primary:hover{background-color:#643cf1}#city-zip-based-shipping-modal:not([data-modal=bulk-import]) .bulk-import,#city-zip-based-shipping-modal:not([data-modal=max-shipping]) .max-shipping-content,#city-zip-based-shipping-modal:not([data-modal=max-zip-codes]) .max-zip-codes-content{display:none!important}#city-zip-based-shipping-rate .btn-add-line-item{color:#4c2dc1;display:block;width:100%;text-align:center;font-size:18px;line-height:60px;font-weight:500;border-style:dashed;margin-top:20px;box-shadow:none!important;border-color:#4c2dc1}#city-zip-based-shipping-rate .bulk-import-section-guide{font-size:14px;line-height:1.6;text-align:center;margin-bottom:20px}#city-zip-based-shipping-rate .separator-or{position:relative;display:flex;margin-block:15px;align-items:center;justify-content:center}#city-zip-based-shipping-rate .separator-or::after{position:relative;content:attr(data-text);padding-inline:6px;background-color:#f0f0f1;z-index:4}#city-zip-based-shipping-rate .separator-or::before{content:"";height:1px;inset-inline:0;position:absolute;background-color:#ccc}#city-zip-based-shipping-rate .bulk-import-upload-section{margin:5px;color:#000;display:flex;padding:10px 30px;font-weight:500;align-items:center;flex-direction:column;justify-content:center;background-color:#fff;outline-offset:5px;cursor:pointer;outline:1px dashed var(--primaryColor)}#city-zip-based-shipping-rate .bulk-import-upload-section input{display:none}#city-zip-based-shipping-rate .bulk-import-upload-section .icon-upload{font-size:40px;height:40px;width:40px}#city-zip-based-shipping-rate .bulk-import-upload-section:not([data-status=importing]) .bulk-data-importing-count{display:none}#city-zip-based-shipping-rate .bulk-import-error{color:#b50202;text-align:center;margin-top:15px;padding:5px 15px}
     1@-webkit-keyframes city_zip_rotate{from{-webkit-transform:rotate(0)}to{-webkit-transform:rotate(360deg)}}@-moz-keyframes city_zip_rotate{from{-moz-transform:rotate(0)}to{-moz-transform:rotate(360deg)}}@keyframes city_zip_rotate{from{transform:rotate(0)}to{transform:rotate(360deg)}}.city-zip-loading-indicator{--size:30px;position:relative;width:var(--size);margin-left:3px;align-self:center;aspect-ratio:1/1;display:inline-block}.city-zip-loading-indicator:after{content:"";width:100%;top:50%;left:50%;z-index:5;position:absolute;aspect-ratio:1/1;border-radius:100px;box-sizing:border-box;animation-duration:1s;border:2px solid #dbdbdb;margin-top:calc(var(--size)/ -2);margin-left:calc(var(--size)/ -2);border-top-color:#4c2dc1!important;animation-iteration-count:infinite;animation-timing-function:linear;animation-name:city_zip_rotate}#city-zip-based-shipping-rate{--primaryColor:#4c2dc1}#city-zip-based-shipping-rate *{box-sizing:border-box}#city-zip-based-shipping-rate.loading .city-zip-form-wrapper,#city-zip-based-shipping-rate:not(.loading) .root-app-loading{display:none}#city-zip-based-shipping-rate .city-zip-form-wrapper{max-width:750px}#city-zip-based-shipping-rate [type=date],#city-zip-based-shipping-rate [type=datetime-local],#city-zip-based-shipping-rate [type=number],#city-zip-based-shipping-rate [type=text],#city-zip-based-shipping-rate [type=time],#city-zip-based-shipping-rate select,#city-zip-based-shipping-rate textarea{border-color:#b5b5b5}#city-zip-based-shipping-rate [type=date],#city-zip-based-shipping-rate [type=number],#city-zip-based-shipping-rate [type=text],#city-zip-based-shipping-rate button,#city-zip-based-shipping-rate select{height:32px}#city-zip-based-shipping-rate [type=number]{width:80px;text-align:center;padding-inline-end:0}#city-zip-based-shipping-rate .form-input-heading{font-size:14px;font-weight:500;margin-bottom:6px}#city-zip-based-shipping-rate .full-width{width:100%;max-width:none}#city-zip-based-shipping-rate button{position:relative}#city-zip-based-shipping-rate button:has(.dashicons){display:inline-flex;align-items:center;column-gap:3px}#city-zip-based-shipping-rate .button.in-progress{color:transparent!important}#city-zip-based-shipping-rate .button.in-progress:after{content:"";width:20px;top:calc(50% - 10px);left:calc(50% - 10px);position:absolute;aspect-ratio:1/1;border-radius:100px;box-sizing:border-box;animation-duration:1s;border:2px solid #dbdbdb;margin-top:calc(var(--size)/ -2);margin-left:calc(var(--size)/ -2);border-top-color:var(--primaryColor)!important;animation-iteration-count:infinite;animation-timing-function:linear;animation-name:city_zip_rotate}#city-zip-based-shipping-rate .input-with-note{min-height:40px;position:relative;padding-inline-start:25px}#city-zip-based-shipping-rate .input-with-note input{position:absolute;left:0;top:7px}#city-zip-based-shipping-rate .input-with-note .field-note{margin-top:-1px}#city-zip-based-shipping-rate .field-note{color:#787878;margin-block:3px 0;font-style:italic;font-weight:400}#city-zip-based-shipping-rate .field-row,#city-zip-based-shipping-rate .field-row-column{gap:5px;display:flex}#city-zip-based-shipping-rate .field-row{flex-wrap:wrap}#city-zip-based-shipping-rate .field-row-column{flex-direction:column;row-gap:7px}#city-zip-based-shipping-rate .city-zip-form-insert-form{gap:3px;display:flex;flex-wrap:wrap;align-items:center}#city-zip-based-shipping-rate .city-zip-form-insert-form input{flex:1}#city-zip-based-shipping-rate .city-zip-form-insert-form .form-help-note{flex:0 0 100%;font-style:italic;font-size:90%;margin-top:0}#city-zip-based-shipping-rate .city-zip-form-insert-form .button .dashicons{width:16px;height:16px;font-size:16px}#city-zip-based-shipping-rate .cities-zip-tags{display:flex;row-gap:6px;column-gap:3px;margin-bottom:8px;flex-wrap:wrap}#city-zip-based-shipping-rate .cities-zip-tags>div{color:#fff;font-size:13px;padding:3px 12px;position:relative;border-radius:100px;display:inline-flex;align-items:center;background-color:#4c2dc1}#city-zip-based-shipping-rate .cities-zip-tags>div:has(.dashicons:hover){background-color:#b50202}#city-zip-based-shipping-rate .cities-zip-tags .dashicons{cursor:pointer;font-size:16px;line-height:20px;height:18px;width:18px;margin-top:-1px;margin-inline-end:-8px}#city-zip-based-shipping-rate .city-zip-form-row:has(+.city-zip-form-row){margin-bottom:20px}#city-zip-based-shipping-rate .shipping-rate-line-items{margin-bottom:20px}#city-zip-based-shipping-rate table.table-city-zip-settings{width:100%;border-collapse:collapse;border:1px solid #dbd5d5;background-color:#fff}#city-zip-based-shipping-rate table.table-city-zip-settings+table.table-city-zip-settings{margin-top:8px}#city-zip-based-shipping-rate table.table-city-zip-settings th.vmiddle{vertical-align:middle}#city-zip-based-shipping-rate table.table-city-zip-settings>tbody>tr>:is(td,th),#city-zip-based-shipping-rate table.table-city-zip-settings>thead>tr>:is(td,th){padding-block:10px;padding-inline:14px}#city-zip-based-shipping-rate table.table-city-zip-settings>tbody>tr>:is(td,th){border-block:1px solid #eee}#city-zip-based-shipping-rate table.table-city-zip-settings>tbody>tr:first-child>:is(td,th){border-top-color:#dbd5d5}#city-zip-based-shipping-rate table.table-city-zip-settings>tbody>tr:last-child>:is(td,th){padding-bottom:15px;border-bottom-color:#dbd5d5}#city-zip-based-shipping-rate table.table-city-zip-settings th{width:22%;font-size:13px;min-width:150px;text-align:left;font-weight:500;vertical-align:top;background-color:#fbfbfb;border-right:1px solid #e3e3e3}#city-zip-based-shipping-rate table.table-city-zip-settings .group-heading{display:flex;margin:0;align-items:center}#city-zip-based-shipping-rate table.table-city-zip-settings .group-heading-label{font-weight:500;margin-inline-end:5px}#city-zip-based-shipping-rate table.table-city-zip-settings .group-heading .handle-move{flex:1;align-self:stretch;margin-block:-10px;margin-inline-start:-14px;cursor:move}#city-zip-based-shipping-rate table.table-city-zip-settings .group-heading .handle-move.dashicons{height:auto;flex:0 0 40px;display:flex;align-items:center;aspect-ratio:1/1;justify-content:center}#city-zip-based-shipping-rate table.table-city-zip-settings .group-heading .shipping-rate-tools{display:flex;column-gap:5px;align-items:center;margin-inline-start:auto}#city-zip-based-shipping-rate table.table-city-zip-settings .shipping-rate-tools a{color:inherit;box-shadow:none!important}#city-zip-based-shipping-rate table.table-city-zip-settings.sortable-chosen thead tr{background-color:#eaebff}#city-zip-based-shipping-modal{position:fixed;inset:0;display:flex;align-items:center;justify-content:center;opacity:0;pointer-events:none;visibility:hidden;transition:.2s all;z-index:99999999;background-color:rgba(0,0,0,.4);backdrop-filter:blur(3px)}#city-zip-based-shipping-modal.shown{opacity:1;pointer-events:all;visibility:visible}#city-zip-based-shipping-modal .modal-header .btn-modal-close{position:absolute;top:4px;right:4px;cursor:pointer;z-index:9999}#city-zip-based-shipping-modal .modal-content{width:90%;max-width:550px;border-radius:5px;position:relative;background-color:#fff;overflow:hidden;box-shadow:0 0 40px 15px rgba(0,0,0,.3)}#city-zip-based-shipping-modal .modal-footer,#city-zip-based-shipping-modal .modal-header{display:flex;column-gap:5px;align-items:center;padding:15px 20px}#city-zip-based-shipping-modal .modal-header{background-color:#fbfbfb;border-bottom:1px solid #eeeff1}#city-zip-based-shipping-modal .modal-footer{padding-block:5px 25px}#city-zip-based-shipping-modal .modal-header h2{margin:0;font-size:20px}#city-zip-based-shipping-modal .modal-body{padding:20px;font-size:14px;line-height:1.5}#city-zip-based-shipping-modal .modal-body h3{margin-block:0 10px}#city-zip-based-shipping-modal .modal-body p{font-size:inherit;line-height:inherit;margin-top:0}#city-zip-based-shipping-modal .modal-footer .button{font-weight:500;color:#505763;padding-block:3px;position:relative;min-width:120px;text-align:center;border-color:#e3e5e8;background-color:#fff;transition:all 150ms}#city-zip-based-shipping-modal .modal-footer .button.button-primary{color:#fff;border-color:#4c2dc1;background-color:#4c2dc1}#city-zip-based-shipping-modal .modal-footer .button.button-primary:hover{background-color:#643cf1}#city-zip-based-shipping-modal:not([data-modal=bulk-import]) .bulk-import,#city-zip-based-shipping-modal:not([data-modal=max-shipping]) .max-shipping-content,#city-zip-based-shipping-modal:not([data-modal=max-zip-codes]) .max-zip-codes-content{display:none!important}#city-zip-based-shipping-rate .btn-add-line-item{color:#4c2dc1;display:block;width:100%;text-align:center;font-size:18px;line-height:60px;font-weight:500;border-style:dashed;margin-top:20px;box-shadow:none!important;border-color:#4c2dc1}#city-zip-based-shipping-rate .bulk-import-section-guide{font-size:14px;line-height:1.6;text-align:center;margin-bottom:20px}#city-zip-based-shipping-rate .separator-or{position:relative;display:flex;margin-block:15px;align-items:center;justify-content:center}#city-zip-based-shipping-rate .separator-or::after{position:relative;content:attr(data-text);padding-inline:6px;background-color:#f0f0f1;z-index:4}#city-zip-based-shipping-rate .separator-or::before{content:"";height:1px;inset-inline:0;position:absolute;background-color:#ccc}#city-zip-based-shipping-rate .bulk-import-upload-section{margin:5px;color:#000;display:flex;padding:10px 30px;font-weight:500;align-items:center;flex-direction:column;justify-content:center;background-color:#fff;outline-offset:5px;cursor:pointer;outline:1px dashed var(--primaryColor)}#city-zip-based-shipping-rate .bulk-import-upload-section input{display:none}#city-zip-based-shipping-rate .bulk-import-upload-section .icon-upload{font-size:40px;height:40px;width:40px}#city-zip-based-shipping-rate .bulk-import-upload-section:not([data-status=importing]) .bulk-data-importing-count{display:none}#city-zip-based-shipping-rate .bulk-import-error{color:#b50202;text-align:center;margin-top:15px;padding:5px 15px}#city-zip-based-shipping-rate .export-error{color:#b50202;margin-top:5px}
  • city-zip-based-shipping-rate-for-woocommerce/trunk/assets/admin.min.js

    r3410355 r3412305  
    1 (e=>{let{__:a,sprintf:s}=wp.i18n,p=wp.hooks.applyFilters("city_zip_based_shipping_rate.has_pro",!1);var t={template:"#city-zip-based-shipping-rate-line-item",props:{rateData:{type:Object,default:{}},number:{type:Number,default:0},rateType:{default:"",type:String}},data(){return{id:(t=66,e=(new Date).getTime()+t,a="undefined"!=typeof performance&&performance.now&&1e3*performance.now()||0,"xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx".replace(/[xy]/g,function(t){var i=16*Math.random();return 0<e?(i=(e+i)%16|0,e=Math.floor(e/16)):(i=(a+i)%16|0,a=Math.floor(a/16)),("x"===t?i:3&i|8).toString(16)})),zip_input_value:"",city_input_value:"",...city_zip_based_shipping_rate.line_item_models,...this.rateData};var t,e,a},computed:{shipping_rate_data(){var t=JSON.parse(JSON.stringify(this.$data));return delete t.zip_input_value,delete t.city_input_value,t}},created(){if("default_cost"==this.rateType)return this.$root.default_shipping_cost=this.shipping_rate_data;this.$root.line_items[this.number]=this.shipping_rate_data},watch:{rateData:{handler(t){for(var i in t)this[i]=t[i]},once:!0},shipping_rate_data(t){if("default_cost"==this.rateType)return this.$root.default_shipping_cost=t;this.$root.line_items[this.number]=t}},mounted(){let i=this;e(this.$refs.city_input).on("keydown",function(t){"Enter"===t.key&&(t.preventDefault(),i.add_cities())}),e(this.$refs.zip_code_input).on("keydown",function(t){"Enter"===t.key&&(t.preventDefault(),i.add_zipcode())})},methods:{delete_item(){confirm(a("Do you want to delete this rate?","city-zip-based-shipping-rate-for-woocommerce"))&&this.$root.line_items.splice(this.number,1)},add_cities(){if(this.city_input_value){var t=this.$root.number_of_city_added,i=this.city_input_value.split(",").map(t=>t.trim());if(10<t+i.length&&!p)return this.$root.modal="max-shipping";i.forEach(t=>{t.length&&!this.cities.includes(t)&&this.cities.push(t)}),this.city_input_value=""}},remove_city(t){var i=s(a('Do you want to delete "%s" city?',"city-zip-based-shipping-rate-for-woocommerce"),this.cities[t]);confirm(i)&&this.cities.splice(t,1)},add_zipcode(){if(this.zip_input_value){var t=this.zip_input_value.split(",").map(t=>t.trim());if(10<this.zip_codes.length+t.length&&!p)return this.$root.modal="max-zip-codes";t.forEach(t=>{t.length&&!this.zip_codes.includes(t)&&this.zip_codes.push(t)}),this.zip_input_value=""}},remove_zip_code(t){var i=s(a('Do you want to delete "%s" zip/postal code?',"city-zip-based-shipping-rate-for-woocommerce"),this.zip_codes[t]);confirm(i)&&this.zip_codes.splice(t,1)}}};let n=wp.hooks.applyFilters("city_zip_based_shipping_rate.helper_modal",{modal:null});if(t={components:{"shipping-rate-line-item":t},data(){return{line_items:[],default_shipping_cost:{},city_zip_no_match:"hide_shipping_rate",...n}},computed:{get_zip_based_settings_data(){var t,i=JSON.parse(JSON.stringify(this.$data));for(t in n)delete i[t];return JSON.stringify(i)},number_of_city_added(){let i=[];return this.line_items.forEach(t=>i=i.concat(t.cities)),i.length}},watch:{modal(t){e("#city-zip-based-shipping-modal").attr("data-modal",t),t?.length?e("#city-zip-based-shipping-modal").addClass("shown"):e("#city-zip-based-shipping-modal").removeClass("shown")}},mounted(){let i=this;e(this.$el.parentElement).removeClass("loading"),e("#mainform .woocommerce-save-button").prop("disabled",!1),e(document).keyup(function(t){"Escape"===t.key&&(i.modal=null)}),wp.hooks.doAction("city_zip_based_shipping_rate.mounted",this)},methods:{add_line_item(){this.line_items.push({})},on_order_change(t){var i=this.line_items.splice(t.oldIndex,1)[0];this.line_items.splice(t.newIndex,0,i)}}},e("#city-zip-based-shipping-rate").length){window.City_Zip_Based_Shipping_Rate_App=Vue.createApp(t).use(sortablejs).mount("#city-zip-based-shipping-rate");var i=e("#city-zip-based-shipping-rate").data("shipping-rates");if("object"==typeof i)for(var o in i)City_Zip_Based_Shipping_Rate_App[o]=i[o]}e("#city-zip-based-shipping-modal").on("click",".btn-modal-close",function(t){t.preventDefault(),window.City_Zip_Based_Shipping_Rate_App.modal=null})})(jQuery);
     1(e=>{let{__:a,sprintf:s}=wp.i18n,p=wp.hooks.applyFilters("city_zip_based_shipping_rate.has_pro",!1);var i={template:"#city-zip-based-shipping-rate-line-item",props:{rateData:{type:Object,default:{}},number:{type:Number,default:0},rateType:{default:"",type:String}},data(){return{id:(i=66,e=(new Date).getTime()+i,a="undefined"!=typeof performance&&performance.now&&1e3*performance.now()||0,"xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx".replace(/[xy]/g,function(i){var t=16*Math.random();return 0<e?(t=(e+t)%16|0,e=Math.floor(e/16)):(t=(a+t)%16|0,a=Math.floor(a/16)),("x"===i?t:3&t|8).toString(16)})),zip_input_value:"",city_input_value:"",...city_zip_based_shipping_rate.line_item_models,...this.rateData};var i,e,a},computed:{shipping_rate_data(){var i=JSON.parse(JSON.stringify(this.$data));return delete i.zip_input_value,delete i.city_input_value,i}},created(){if("default_cost"==this.rateType)return this.$root.default_shipping_cost=this.shipping_rate_data;this.$root.line_items[this.number]=this.shipping_rate_data},watch:{rateData:{handler(i){for(var t in i)this[t]=i[t]},once:!0},shipping_rate_data(i){if("default_cost"==this.rateType)return this.$root.default_shipping_cost=i;this.$root.line_items[this.number]=i}},mounted(){let t=this;e(this.$refs.city_input).on("keydown",function(i){"Enter"===i.key&&(i.preventDefault(),t.add_cities())}),e(this.$refs.zip_code_input).on("keydown",function(i){"Enter"===i.key&&(i.preventDefault(),t.add_zipcode())})},methods:{delete_item(){confirm(a("Do you want to delete this rate?","city-zip-based-shipping-rate-for-woocommerce"))&&this.$root.line_items.splice(this.number,1)},add_cities(){if(this.city_input_value){var i=this.$root.number_of_city_added,t=this.city_input_value.split(",").map(i=>i.trim());if(10<i+t.length&&!p)return this.$root.modal="max-shipping";t.forEach(i=>{i.length&&!this.cities.includes(i)&&this.cities.push(i)}),this.city_input_value=""}},remove_city(i){var t=s(a('Do you want to delete "%s" city?',"city-zip-based-shipping-rate-for-woocommerce"),this.cities[i]);confirm(t)&&this.cities.splice(i,1)},add_zipcode(){if(this.zip_input_value){var i=this.zip_input_value.split(",").map(i=>i.trim());if(10<this.zip_codes.length+i.length&&!p)return this.$root.modal="max-zip-codes";i.forEach(i=>{i.length&&!this.zip_codes.includes(i)&&this.zip_codes.push(i)}),this.zip_input_value=""}},remove_zip_code(i){var t=s(a('Do you want to delete "%s" zip/postal code?',"city-zip-based-shipping-rate-for-woocommerce"),this.zip_codes[i]);confirm(t)&&this.zip_codes.splice(i,1)}}};let n=wp.hooks.applyFilters("city_zip_based_shipping_rate.helper_modal",{modal:null});if(i={components:{"shipping-rate-line-item":i},data(){return{line_items:[],default_shipping_cost:{},city_zip_no_match:"hide_shipping_rate",...n}},computed:{get_zip_based_settings_data(){var i,t=JSON.parse(JSON.stringify(this.$data));for(i in n)delete t[i];return JSON.stringify(t)},number_of_city_added(){let t=[];return this.line_items.forEach(i=>t=t.concat(i.cities)),t.length}},watch:{modal(i){e("#city-zip-based-shipping-modal").attr("data-modal",i),i?.length?e("#city-zip-based-shipping-modal").addClass("shown"):e("#city-zip-based-shipping-modal").removeClass("shown")}},mounted(){let t=this;e(this.$el.parentElement).removeClass("loading"),e("#mainform .woocommerce-save-button").prop("disabled",!1),e(document).keyup(function(i){"Escape"===i.key&&(t.modal=null)}),wp.hooks.doAction("city_zip_based_shipping_rate.mounted",this)},methods:{...wp.hooks.applyFilters("city_zip_based_shipping_rate.methods",{}),add_line_item(){this.line_items.push({})},on_order_change(i){var t=this.line_items.splice(i.oldIndex,1)[0];this.line_items.splice(i.newIndex,0,t)}}},e("#city-zip-based-shipping-rate").length){window.City_Zip_Based_Shipping_Rate_App=Vue.createApp(i).use(sortablejs).mount("#city-zip-based-shipping-rate");var t=e("#city-zip-based-shipping-rate").data("shipping-rates");if("object"==typeof t)for(var o in t)City_Zip_Based_Shipping_Rate_App[o]=t[o]}e("#city-zip-based-shipping-modal").on("click",".btn-modal-close",function(i){i.preventDefault(),window.City_Zip_Based_Shipping_Rate_App.modal=null})})(jQuery);
  • city-zip-based-shipping-rate-for-woocommerce/trunk/inc/class-admin.php

    r3410355 r3412305  
    4040
    4141        do_action('city_zip_based_shipping_rate/admin_enqueue_scripts');
    42 
    4342        wp_enqueue_script('city-zip-based-shipping-rate-admin', CITY_ZIP_BASED_SHIPPING_RATE_URI . 'assets/admin.min.js', array('jquery', 'wp-i18n', 'city-zip-based-shipping-rate-vue', 'city-zip-based-shipping-rate-vue-sortable'), Utils::get_plugin_version(), true);
    4443
    45         wp_localize_script('city-zip-based-shipping-rate-admin', 'city_zip_based_shipping_rate', array(
     44        $city_zip_based_shipping_rate = apply_filters('city_zip_based_shipping_rate/admin_object', array(
    4645            'ajax_url' => admin_url('admin-ajax.php'),
    4746            'line_item_models' => Shipping_Method_Options::get_line_item_models()
    4847        ));
     48
     49        wp_localize_script('city-zip-based-shipping-rate-admin', 'city_zip_based_shipping_rate', $city_zip_based_shipping_rate);
    4950    }
    5051
     
    299300                                </td>
    300301                            </tr>
     302
     303                            <?php
     304                            $shipping_method_settings = Shipping_Method_Options::get_instance()->get_setting_options();
     305                            foreach ($shipping_method_settings as $key => $setting_options) {
     306                                if (isset($setting_options['callback']) && is_callable($setting_options['callback'])) {
     307                                    call_user_func($setting_options['callback']);
     308                                }
     309                            } ?>
     310
    301311                        </tbody>
    302312                    </table>
     
    326336            </td>
    327337        </tr>
    328     <?php
     338<?php
    329339        return ob_get_clean();
    330340    }
  • city-zip-based-shipping-rate-for-woocommerce/trunk/inc/class-shipping-method-options.php

    r3410355 r3412305  
    7171
    7272    /**
     73     * Get options of setting
     74     *
     75     * @since 1.0,0
     76     * @return array
     77     */
     78    public function get_setting_options() {
     79        $options = apply_filters('city_zip_based_shipping_rate/shipping_method_setting_options', []);
     80
     81        $options = array_map(function ($option) {
     82            if (!isset($option['priority'])) {
     83                $option['priority'] = 10;
     84            }
     85
     86            $option['priority'] = floatval($option['priority']);
     87
     88            return $option;
     89        }, $options);
     90
     91        usort($options, fn($a, $b) => $a['priority'] > $b['priority'] ? 1 : -1);
     92
     93        return $options;
     94    }
     95
     96    /**
    7397     * Get line rate options
    7498     *
Note: See TracChangeset for help on using the changeset viewer.