diff --git a/.gitignore b/.gitignore index efa17da..7a1c28b 100644 --- a/.gitignore +++ b/.gitignore @@ -1,3 +1,4 @@ .idea todo.txt -assets/css/.sass-cache \ No newline at end of file +assets/css/.sass-cache +/docs/.retype/ diff --git a/assets/css/admin.css b/assets/css/admin.css index cc036d0..b32a67e 100644 --- a/assets/css/admin.css +++ b/assets/css/admin.css @@ -22,6 +22,14 @@ -moz-box-sizing: border-box; box-sizing: border-box; } +.wc-kalkulator-wrapper ul#f-field-list .wck-sortable-placeholder { + border: 1px dashed #888; + background-color: #eee; + box-shadow: none; + text-align: center; + color: #888; + padding: 22px; +} .wc-kalkulator-wrapper ul#f-field-list li { box-shadow: 0px 5px 10px #ccc; margin-bottom: 5px; @@ -31,26 +39,38 @@ background-color: #FFFFFF; } .wc-kalkulator-wrapper ul#f-field-list li .field .header { + background-color: #F5F5F5; padding: 8px; + cursor: move; } .wc-kalkulator-wrapper ul#f-field-list li .field .header .text { font-size: 14px; color: #000; padding: 5px; } +.wc-kalkulator-wrapper ul#f-field-list li .field .header .name { + padding: 5px; +} .wc-kalkulator-wrapper ul#f-field-list li .field .body { padding: 20px; border-top: 1px solid #AAA; } -.wc-kalkulator-wrapper ul#f-field-list li .field .body .half { +.wc-kalkulator-wrapper ul#f-field-list li .field .body .half, .wc-kalkulator-wrapper ul#f-field-list li .field .body .third { float: left; width: 50%; + padding-left: 10px; + padding-right: 10px; } -.wc-kalkulator-wrapper ul#f-field-list li .field .body .second { +.wc-kalkulator-wrapper ul#f-field-list li .field .body .second, .wc-kalkulator-wrapper ul#f-field-list li .field .body .last { padding-left: 10px; + padding-right: 0; } .wc-kalkulator-wrapper ul#f-field-list li .field .body .first { padding-right: 10px; + padding-left: 0; +} +.wc-kalkulator-wrapper ul#f-field-list li .field .body .third { + width: 33%; } .wc-kalkulator-wrapper ul#f-field-list li .field .body .fu-allowed-extensions { margin-top: 10px; @@ -68,7 +88,6 @@ box-sizing: border-box; } .wc-kalkulator-wrapper ul#f-field-list li .field .body .pair { - margin-bottom: 10px; display: flex; align-items: center; } @@ -79,6 +98,10 @@ } .wc-kalkulator-wrapper ul#f-field-list li .field .body .pairs { margin-top: 20px; + margin-bottom: 20px; +} +.wc-kalkulator-wrapper ul#f-field-list li .field .body .pairs .pair:not(:first-child) label { + display: none; } .wc-kalkulator-wrapper ul#f-field-list li .field .body .pairs button { margin-right: 6px; @@ -133,6 +156,13 @@ margin-right: 2px; cursor: pointer; color: #555; + font-size: 16px; + line-height: 1.5; +} +.wc-kalkulator-wrapper ul#f-field-list li .field .header .dashicons.action-drag, .wc-kalkulator-wrapper .input-group .dashicons.action-drag { + cursor: move; + font-size: 16px; + line-height: 1.5; } .wc-kalkulator-wrapper ul#f-field-list li .field .header .left, .wc-kalkulator-wrapper .input-group .left { float: left; @@ -149,13 +179,14 @@ margin-right: 10px; width: auto; } -.wc-kalkulator-wrapper ul#f-field-list li .field .body .param.f-required, .wc-kalkulator-wrapper ul#f-field-list li .field .body .param.fdp-disallow-past-date, .wc-kalkulator-wrapper ul#f-field-list li .field .body .param[type=checkbox] { +.wc-kalkulator-wrapper ul#f-field-list li .field .body .param.fdp-disallow-past-date, .wc-kalkulator-wrapper ul#f-field-list li .field .body .param[type=checkbox] { margin: 10px 15px 14px 3px; } .wc-kalkulator-wrapper ul#f-field-list li .field .body input[type=text].param, .wc-kalkulator-wrapper ul#f-field-list li .field .body input[type=number].param, .wc-kalkulator-wrapper ul#f-field-list li .field .body .pair input[type=text], -.wc-kalkulator-wrapper ul#f-field-list li .field .body .pair input[type=number] { +.wc-kalkulator-wrapper ul#f-field-list li .field .body .pair input[type=number], +.wc-kalkulator-wrapper ul#f-field-list li .field .body select.param { margin-bottom: 20px; border: 1px solid #aaa; border-radius: 0; @@ -164,12 +195,39 @@ .wc-kalkulator-wrapper ul#f-field-list li .field .body .pair input[type=text], .wc-kalkulator-wrapper ul#f-field-list li .field .body .pair input[type=number] { width: 100%; + margin-bottom: 10px; } .wc-kalkulator-wrapper ul#f-field-list li .field .body .pair:after, .wc-kalkulator-wrapper .clearfix { content: ""; display: block; clear: both; } +.wc-kalkulator-wrapper ul#f-field-list li .header .wck-toggle-colspan, .wc-kalkulator-wrapper ul#f-field-list li .header .wck-toggle-colspan-label { + display: none; +} +.wc-kalkulator-wrapper ul#f-field-list.layout-two-col li { + width: 49.4%; + display: inline-block; + margin: 0.25%; + vertical-align: top; +} +.wc-kalkulator-wrapper ul#f-field-list.layout-two-col li.wck-layout-colspan { + width: 99.25%; +} +.wc-kalkulator-wrapper ul#f-field-list.layout-two-col .header .wck-toggle-colspan { + display: block; + box-sizing: content-box; + -moz-box-sizing: content-box; + -webkit-box-sizing: content-box; + margin-top: 4px; + cursor: pointer; +} +.wc-kalkulator-wrapper ul#f-field-list.layout-two-col .header .wck-toggle-colspan-label { + display: block; + line-height: 2.2em; + font-size: 12px; + padding-right: 6px; +} .wc-kalkulator-wrapper .pr-20 { padding-right: 20px; } @@ -177,16 +235,16 @@ position: relative; font-family: monospace; width: 100%; - margin: 10px 0 10px 0; + margin: 10px 0 15px 0; } .wc-kalkulator-wrapper .input-icon i { font-family: monospace; - font-size: 15px; + font-size: 13px; position: absolute; display: block; - top: 10px; + top: 11px; pointer-events: none; - width: 45px; + width: 50px; text-align: right; font-style: normal; color: blue; @@ -201,7 +259,10 @@ content: "if"; } .wc-kalkulator-wrapper .input-equation i::after { - content: "="; + content: "price"; +} +.wc-kalkulator-wrapper .input-stock i::after { + content: "qty * "; } .wc-kalkulator-wrapper #addon-inputs .input-equation i::after { content: "add"; @@ -210,9 +271,8 @@ content: "else"; } .wc-kalkulator-wrapper .input-group { - padding: 12px; - border: 1px solid #AAA; - background-color: #FFFFFF; + padding: 8px; + background-color: #EEE; margin-bottom: 5px; } .wc-kalkulator-wrapper .ui-autocomplete-loading { @@ -221,8 +281,11 @@ .wc-kalkulator-wrapper .wc-product-search, .wc-kalkulator-wrapper .wc-category-search, .wc-kalkulator-wrapper .wc-enhanced-select, .wc-kalkulator-wrapper .wc-page-search { width: 100%; } +.wc-kalkulator-wrapper button.add-operator { + margin-right: 3px; +} .wc-kalkulator-wrapper span.formula-field { - padding-right: 6px; + padding-left: 6px; cursor: pointer; font-weight: 700; } @@ -266,5 +329,212 @@ .wc-kalkulator-wrapper .fields-section button span { line-height: 2; } +.wc-kalkulator-wrapper .align-right { + text-align: right; +} +.wc-kalkulator-wrapper .wck-toggle-layout, .wc-kalkulator-wrapper .wck-toggle-expand { + cursor: pointer; +} +.wc-kalkulator-wrapper ul#f-field-list li .field .header .right { + opacity: 0; +} +.wc-kalkulator-wrapper ul#f-field-list li .field:hover .header .right { + opacity: 1; +} +.wc-kalkulator-wrapper #wck_expression .wck-sortable-placeholder { + border: 1px dashed #888; + background-color: #eee; + box-shadow: none; + text-align: center; + color: #888; + height: 60px; + margin-bottom: 3px; +} +.wc-kalkulator-wrapper #wck_expression .input-group .input-if, .wc-kalkulator-wrapper #wck_expression .input-group .input-equation { + float: left; + width: 46%; + margin: 0 0.5%; +} +.wc-kalkulator-wrapper #wck_expression .input-group .input-buttons { + float: left; + width: 2.5%; + padding-top: 5px; +} +.wc-kalkulator-wrapper .inventory label { + font-size: 15px; + margin: 55px 0 10px 0; + border-top: 1px solid #c3c4c7; + display: block; + border-bottom: 1px solid #c3c4c7; + padding: 10px 0 10px 5px; +} +.wc-kalkulator-wrapper .cv-container { + position: relative; +} +.wc-kalkulator-wrapper .cv-container .action-field-visibility { + position: absolute; + right: 5px; + top: 5px; +} +.wc-kalkulator-wrapper .cv-container .visibility-readable { + background-color: #FFF; +} + +#postbox-container-2.fullscreen { + position: fixed; + z-index: 999999; + left: 0; + top: 0; + right: 0; + bottom: 0; + margin: 0; + background-color: #FFF; + overflow-y: scroll; +} +#postbox-container-2.fullscreen #normal-sortables, #postbox-container-2.fullscreen #advanced-sortables { + padding: 20px; +} + +#wck-toolbar { + position: fixed; + bottom: 0; + left: 0; + right: 0; + z-index: 9999999; + background: #F5F5F5; + border-top: 1px solid #AAA; + text-align: right; + padding: 10px 20px; + box-shadow: 0px 0px 45px #000; +} +#wck-toolbar .wck-toggle-fullscreen { + cursor: pointer; +} +#wck-toolbar ul { + margin: 0; +} +#wck-toolbar ul li { + vertical-align: middle; + margin-bottom: 0; + display: inline-block; +} +#wck-toolbar ul li li > * { + vertical-align: middle; +} +#wck-toolbar ul li.space { + width: 10px; +} + +#wck-expression-toolbar { + display: none; + position: absolute; + top: 0; + border: 1px solid #888; + border-radius: 5px; + box-shadow: 0 0 50px rgba(0, 0, 0, 0.5); + padding: 10px 20px; + background-color: #fff; + margin: 0; + width: 360px; + vertical-align: middle; + text-align: justify; +} +#wck-expression-toolbar, #wck-expression-toolbar * { + tab-index: 0; +} +#wck-expression-toolbar .button { + margin-bottom: 6px; +} +#wck-expression-toolbar select { + width: 270px; +} + +#wck-cv-builder { + overflow: none; + display: none; + border-radius: 3px; + position: fixed; + z-index: 99999999; + top: 150px; + left: 50%; + margin-left: -500px; + bottom: 150px; + width: 1000px; + background-color: #FFFFFF; + box-shadow: 0 0 200px 100px rgba(0, 0, 0, 0.4); + flex-direction: column; +} +#wck-cv-builder .template { + display: none; + visibility: hidden; +} +#wck-cv-builder .builder { + flex-basis: 100%; + margin: 20px 40px 0 5px; + overflow-y: auto; +} +#wck-cv-builder .builder .or-group { + width: 100%; +} +#wck-cv-builder .builder .and-condition { + display: flex; + gap: 3px; +} +#wck-cv-builder .builder .and-condition .validation-error { + border-color: red; +} +#wck-cv-builder .builder .and-condition, #wck-cv-builder .builder .and-condition button { + margin-bottom: 3px; +} +#wck-cv-builder .builder .and-condition .p-value { + flex-grow: 2; +} +#wck-cv-builder .builder .or-condition { + display: flex; + flex-direction: row; + align-content: stretch; + gap: 3px; + flex-wrap: wrap; +} +#wck-cv-builder .builder .or-condition:not(:first-child)::before { + content: "OR"; + flex-basis: 100%; + display: block; + font-weight: 700; + padding: 10px; + margin-left: 25px; +} +#wck-cv-builder .builder .and-group { + flex-grow: 4; +} +#wck-cv-builder .builder .cv-remove { + text-decoration: none; + opacity: 0; + padding: 5px; +} +#wck-cv-builder .builder .cv-remove span { + font-size: 14px; + line-height: 1; +} +#wck-cv-builder .builder .and-condition:hover .cv-remove { + opacity: 1; +} +#wck-cv-builder .builder .cv-action-and { + align-self: end; + margin-bottom: 3px; +} +#wck-cv-builder .builder .cv-action-or { + display: block; + margin-top: 10px; + margin-left: 33px; +} +#wck-cv-builder h1 { + padding: 40px 40px 0 40px; +} +#wck-cv-builder p.save { + padding: 10px 20px 0px; + text-align: right; + border-top: 1px solid #ccc; +} /*# sourceMappingURL=admin.css.map */ diff --git a/assets/css/admin.css.map b/assets/css/admin.css.map index 1422a6f..38143d6 100644 --- a/assets/css/admin.css.map +++ b/assets/css/admin.css.map @@ -1 +1 @@ -{"version":3,"sourceRoot":"","sources":["admin.sass"],"names":[],"mappings":"AACE;EACE;;AAEA;EACE;;AAGA;EACE;EACA;EACA;EACA;EACA;;AACF;EACE;;AACN;EACE;;AACA;EACE;EACA;EACA;;AACF;EACE;EACA;;AACA;EACE;EACA;;AACA;EACE;;AACA;EACE;EACA;EACA;;AACJ;EACE;EACA;;AACA;EACE;EACA;;AACF;EACE;;AACF;EACE;;AACF;EACE;;AACF;EACE;EACA;EACA;;AACA;EACE;EACA;EACA;EACA;EACA;;AACJ;EACE;EACA;EACA;;AAEE;EACE;EACA;EACA;;AACN;EACE;;AACA;EACE;EACA;;AACF;EACE;EACA;;AACA;EACE;EACA;EACA;EACA;;AACN;EACE;;AACF;EACE;EACA;;AACF;EACE;EACA;;AACF;EACE;;AACF;EACE;EACA;;AACF;EACE;;AACF;EACE;EACA;EACA;;AACF;EACE;EACA;;AACN;EACE;;AACN;EACE;EACA;EACA;EACA;EACA;;AACF;EACE;;AACF;EACE;;AACF;EACE;EACA;;AACA;EACE;EACA;EACA;;AACJ;EACE;;AACF;AAAA;AAAA;AAAA;EAIE;EACA;EACA;EACA;;AACF;AAAA;EAEE;;AACF;EACE;EACA;EACA;;AACF;EACE;;AACF;EACE;EACA;EACA;EACA;;AACA;EACE;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;AACF;EACE;EACA;EACA;EACA;;AAGA;EACE;;AAGF;EACE;;AACN;EACE;;AAGE;EACE;;AACN;EACE;EACA;EACA;EACA;;AACF;EACE;;AACF;EACE;;AAEA;EACE;EACA;EACA;;AACA;EACE;;AACN;EACE;EACA;EACA;;AACA;EACE;EACA;EACA;;AACJ;EACE;;AACF;EACE;EACA;;AACF;EACE;EACA;EACA;EACA;;AACA;EACE;;AACF;EACE;EACA;;AACF;EACE;EACA;;AACA;EACE","file":"admin.css"} \ No newline at end of file +{"version":3,"sourceRoot":"","sources":["admin.sass"],"names":[],"mappings":"AACE;EACE;;AAGA;EACE;;AAIA;EACE;EACA;EACA;EACA;EACA;;AAEF;EACE;;AAEN;EACE;;AAEA;EACE;EACA;EACA;;AAEF;EACE;EACA;EACA;EACA;EACA;EACA;;AAEF;EACE;EACA;;AAEA;EACE;EACA;;AAEA;EACE;EACA;EACA;;AACA;EACE;EACA;EACA;;AAEF;EACE;;AAEJ;EACE;EACA;;AAEA;EACE;EACA;EACA;EACA;;AAEF;EACE;EACA;;AAEF;EACE;EACA;;AAEF;EACE;;AAEF;EACE;;AAEF;EACE;EACA;EACA;;AAEA;EACE;EACA;EACA;EACA;EACA;;AAEJ;EACE;EACA;;AAGE;EACE;EACA;EACA;;AAEN;EACE;EACA;;AAGE;EACE;;AAEJ;EACE;EACA;;AAEF;EACE;EACA;;AAEA;EACE;EACA;EACA;EACA;;AAEN;EACE;;AAEF;EACE;EACA;;AAEF;EACE;EACA;;AAEF;EACE;;AAEF;EACE;EACA;;AAEF;EACE;;AAEF;EACE;EACA;EACA;;AAEF;EACE;EACA;;AAEN;EACE;;AAEN;EACE;EACA;EACA;EACA;EACA;EACA;EACA;;AAEA;EACE;EACA;EACA;;AAEJ;EACE;;AAEF;EACE;;AAEF;EACE;EACA;;AAEA;EACE;EACA;EACA;;AAEJ;EACE;;AAEF;AAAA;AAAA;AAAA;AAAA;EAKE;EACA;EACA;EACA;;AAEF;AAAA;EAEE;EACA;;AAEF;EACE;EACA;EACA;;AAGA;EACE;;AAGF;EACE;EACA;EACA;EACA;;AAEA;EACE;;AAGF;EACE;EACA;EACA;EACA;EACA;EACA;;AAEF;EACE;EACA;EACA;EACA;;AAEN;EACE;;AAEF;EACE;EACA;EACA;EACA;;AAEA;EACE;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;AAEF;EACE;EACA;EACA;EACA;;AAIA;EACE;;AAIF;EACE;;AAGJ;EACE;;AAEJ;EACE;;AAIE;EACE;;AAEN;EACE;EACA;EACA;;AAEF;EACE;;AAEF;EACE;;AAEF;EACE;;AAGA;EACE;EACA;EACA;;AAEA;EACE;;AAEN;EACE;EACA;EACA;;AAEA;EACE;EACA;EACA;;AAEJ;EACE;;AAEF;EACE;EACA;;AAEF;EACE;EACA;EACA;EACA;;AAEA;EACE;;AAEF;EACE;EACA;;AAEF;EACE;EACA;;AAEA;EACE;;AAEN;EACE;;AAEF;EACE;;AAEF;EACE;;AAEF;EACE;;AAGA;EACE;EACA;EACA;EACA;EACA;EACA;EACA;;AAGA;EACE;EACA;EACA;;AAEF;EACE;EACA;EACA;;AAEN;EACE;EACA;EACA;EACA;EACA;EACA;;AAEF;EACE;;AACA;EACE;EACA;EACA;;AACF;EACE;;;AAGN;EACE;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;AAEA;EACE;;;AAEJ;EACE;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;AAEA;EACE;;AAEF;EACE;;AAEA;EACE;EACA;EACA;;AAEA;EACE;;AAEF;EACE;;;AAER;EAGE;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;AAbA;EACE;;AAcF;EACE;;AAEF;EACE;;;AAEJ;EACE;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;AACA;EACE;EACA;;AACF;EACE;EACA;EACA;;AACA;EACE;;AACF;EACE;EACA;;AACA;EACE;;AACF;EACE;;AACF;EACE;;AACJ;EACE;EACA;EACA;EACA;EACA;;AACA;EACE;EACA;EACA;EACA;EACA;EACA;;AACJ;EACE;;AACF;EACE;EACA;EACA;;AACA;EACE;EACA;;AAEF;EACE;;AACJ;EACE;EACA;;AACF;EACE;EACA;EACA;;AACJ;EACE;;AACF;EACE;EACA;EACA","file":"admin.css"} \ No newline at end of file diff --git a/assets/css/admin.min.css b/assets/css/admin.min.css index bd43edf..0490939 100644 --- a/assets/css/admin.min.css +++ b/assets/css/admin.min.css @@ -1 +1 @@ -.wc-kalkulator-wrapper html{scroll-padding-top:100px}.wc-kalkulator-wrapper p.add-buttons{line-height:36px}.wc-kalkulator-wrapper a.button.action-add-image{margin-bottom:20px;margin-top:20px;border:1px solid #aaa;border-radius:0;padding:5px 10px}.wc-kalkulator-wrapper a.button.action-add-attachment{margin-bottom:10px}.wc-kalkulator-wrapper ul#f-field-list{width:100%}.wc-kalkulator-wrapper ul#f-field-list *{-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box}.wc-kalkulator-wrapper ul#f-field-list li{box-shadow:0 5px 10px #ccc;margin-bottom:5px}.wc-kalkulator-wrapper ul#f-field-list li .field{border:1px solid #aaa;background-color:#fff}.wc-kalkulator-wrapper ul#f-field-list li .field .header{padding:8px}.wc-kalkulator-wrapper ul#f-field-list li .field .header .text{font-size:14px;color:#000;padding:5px}.wc-kalkulator-wrapper ul#f-field-list li .field .body{padding:20px;border-top:1px solid #aaa}.wc-kalkulator-wrapper ul#f-field-list li .field .body .half{float:left;width:50%}.wc-kalkulator-wrapper ul#f-field-list li .field .body .second{padding-left:10px}.wc-kalkulator-wrapper ul#f-field-list li .field .body .first{padding-right:10px}.wc-kalkulator-wrapper ul#f-field-list li .field .body .fu-allowed-extensions{margin-top:10px}.wc-kalkulator-wrapper ul#f-field-list li .field .body label{font-size:12px;margin-bottom:3px;font-weight:700}.wc-kalkulator-wrapper ul#f-field-list li .field .body label.error{background-color:#e30000;color:#fff;padding:6px;margin:6px 0;box-sizing:border-box}.wc-kalkulator-wrapper ul#f-field-list li .field .body .pair{margin-bottom:10px;display:flex;align-items:center}.wc-kalkulator-wrapper ul#f-field-list li .field .body .pair span.dashicons-no-alt{cursor:pointer;font-size:28px;color:red}.wc-kalkulator-wrapper ul#f-field-list li .field .body .pairs{margin-top:20px}.wc-kalkulator-wrapper ul#f-field-list li .field .body .pairs button{margin-right:6px;margin-bottom:6px}.wc-kalkulator-wrapper ul#f-field-list li .field .body .pairs .importer{display:none;margin-top:20px}.wc-kalkulator-wrapper ul#f-field-list li .field .body .pairs .importer textarea{display:block;width:100%;min-height:200px;margin-bottom:10px}.wc-kalkulator-wrapper ul#f-field-list li .field .body .column{float:left}.wc-kalkulator-wrapper ul#f-field-list li .field .body .column-1{width:40%;padding-right:20px}.wc-kalkulator-wrapper ul#f-field-list li .field .body .column-1-half{width:20%;padding-right:20px}.wc-kalkulator-wrapper ul#f-field-list li .field .body .column-2{width:40%}.wc-kalkulator-wrapper ul#f-field-list li .field .body .column-2-half{text-align:center;width:20%}.wc-kalkulator-wrapper ul#f-field-list li .field .body .column-1-2{width:80%}.wc-kalkulator-wrapper ul#f-field-list li .field .body .column-3{width:10%;padding-left:20px;text-align:center}.wc-kalkulator-wrapper ul#f-field-list li .field .body .column-4{width:10%;text-align:center}.wc-kalkulator-wrapper ul#f-field-list li .clear{clear:both}.wc-kalkulator-wrapper .input-group .dashicons,.wc-kalkulator-wrapper ul#f-field-list li .field .header .dashicons{padding:3px;margin-left:2px;margin-right:2px;cursor:pointer;color:#555}.wc-kalkulator-wrapper .input-group .left,.wc-kalkulator-wrapper ul#f-field-list li .field .header .left{float:left}.wc-kalkulator-wrapper .input-group .right,.wc-kalkulator-wrapper ul#f-field-list li .field .header .right{float:right}.wc-kalkulator-wrapper ul#f-field-list li .field .body .param:not([type=checkbox]),.wc-kalkulator-wrapper ul#f-field-list li .field .body label{display:block;width:100%}.wc-kalkulator-wrapper ul#f-field-list li .field .body .param:not([type=checkbox]).inline,.wc-kalkulator-wrapper ul#f-field-list li .field .body label.inline{display:inline;margin-right:10px;width:auto}.wc-kalkulator-wrapper ul#f-field-list li .field .body .param.f-required,.wc-kalkulator-wrapper ul#f-field-list li .field .body .param.fdp-disallow-past-date,.wc-kalkulator-wrapper ul#f-field-list li .field .body .param[type=checkbox]{margin:10px 15px 14px 3px}.wc-kalkulator-wrapper ul#f-field-list li .field .body .pair input[type=number],.wc-kalkulator-wrapper ul#f-field-list li .field .body .pair input[type=text],.wc-kalkulator-wrapper ul#f-field-list li .field .body input[type=number].param,.wc-kalkulator-wrapper ul#f-field-list li .field .body input[type=text].param{margin-bottom:20px;border:1px solid #aaa;border-radius:0;padding:5px 10px}.wc-kalkulator-wrapper ul#f-field-list li .field .body .pair input[type=number],.wc-kalkulator-wrapper ul#f-field-list li .field .body .pair input[type=text]{width:100%}.wc-kalkulator-wrapper .clearfix,.wc-kalkulator-wrapper ul#f-field-list li .field .body .pair:after{content:"";display:block;clear:both}.wc-kalkulator-wrapper .pr-20{padding-right:20px}.wc-kalkulator-wrapper .input-icon{position:relative;font-family:monospace;width:100%;margin:10px 0}.wc-kalkulator-wrapper .input-icon i{font-family:monospace;font-size:15px;position:absolute;display:block;top:10px;pointer-events:none;width:45px;text-align:right;font-style:normal;color:#00f}.wc-kalkulator-wrapper .input-icon input{border:1px solid #aaa;border-radius:0;padding:5px 10px 5px 55px;width:100%}.wc-kalkulator-wrapper .input-if i::after{content:"if"}.wc-kalkulator-wrapper .input-equation i::after{content:"="}.wc-kalkulator-wrapper #addon-inputs .input-equation i::after{content:"add"}.wc-kalkulator-wrapper .input-else i::after{content:"else"}.wc-kalkulator-wrapper .input-group{padding:12px;border:1px solid #aaa;background-color:#fff;margin-bottom:5px}.wc-kalkulator-wrapper .ui-autocomplete-loading{background-image:none!important}.wc-kalkulator-wrapper .wc-category-search,.wc-kalkulator-wrapper .wc-enhanced-select,.wc-kalkulator-wrapper .wc-page-search,.wc-kalkulator-wrapper .wc-product-search{width:100%}.wc-kalkulator-wrapper span.formula-field{padding-right:6px;cursor:pointer;font-weight:700}.wc-kalkulator-wrapper span.formula-field:hover{text-decoration:underline}.wc-kalkulator-wrapper .wp-media-image-preview{max-width:80px;max-height:80px;cursor:pointer}.wc-kalkulator-wrapper .wp-media-image-preview:hover{transform:scale(1.2);-moz-transform:scale(1.2);-webkit-transform:scale(1.2)}.wc-kalkulator-wrapper select.param{margin-bottom:20px}.wc-kalkulator-wrapper .iris-picker{position:absolute;z-index:9999}.wc-kalkulator-wrapper .fields-section{text-align:center;padding:50px;margin:0 auto;max-width:500px}.wc-kalkulator-wrapper .fields-section button,.wc-kalkulator-wrapper .fields-section select{font-size:16px}.wc-kalkulator-wrapper .fields-section select{width:300px;padding:5px 10px}.wc-kalkulator-wrapper .fields-section button{width:50px;padding:3px 8px}.wc-kalkulator-wrapper .fields-section button span{line-height:2} \ No newline at end of file +.wc-kalkulator-wrapper html{scroll-padding-top:100px}.wc-kalkulator-wrapper p.add-buttons{line-height:36px}.wc-kalkulator-wrapper a.button.action-add-image{margin-bottom:20px;margin-top:20px;border:1px solid #aaa;border-radius:0;padding:5px 10px}.wc-kalkulator-wrapper a.button.action-add-attachment{margin-bottom:10px}.wc-kalkulator-wrapper ul#f-field-list{width:100%}.wc-kalkulator-wrapper ul#f-field-list *{-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box}.wc-kalkulator-wrapper ul#f-field-list .wck-sortable-placeholder{border:1px dashed #888;background-color:#eee;box-shadow:none;text-align:center;color:#888;padding:22px}.wc-kalkulator-wrapper ul#f-field-list li{box-shadow:0 5px 10px #ccc;margin-bottom:5px}.wc-kalkulator-wrapper ul#f-field-list li .field{border:1px solid #aaa;background-color:#fff}.wc-kalkulator-wrapper ul#f-field-list li .field .header{background-color:#f5f5f5;padding:8px;cursor:move}.wc-kalkulator-wrapper ul#f-field-list li .field .header .text{font-size:14px;color:#000;padding:5px}.wc-kalkulator-wrapper ul#f-field-list li .field .header .name{padding:5px}.wc-kalkulator-wrapper ul#f-field-list li .field .body{padding:20px;border-top:1px solid #aaa}.wc-kalkulator-wrapper ul#f-field-list li .field .body .half{float:left;width:50%;padding-left:10px;padding-right:10px}.wc-kalkulator-wrapper ul#f-field-list li .field .body .third{float:left;padding-left:10px;padding-right:10px}.wc-kalkulator-wrapper ul#f-field-list li .field .body .last,.wc-kalkulator-wrapper ul#f-field-list li .field .body .second{padding-left:10px;padding-right:0}.wc-kalkulator-wrapper ul#f-field-list li .field .body .first{padding-right:10px;padding-left:0}.wc-kalkulator-wrapper ul#f-field-list li .field .body .third{width:33%}.wc-kalkulator-wrapper ul#f-field-list li .field .body .fu-allowed-extensions{margin-top:10px}.wc-kalkulator-wrapper ul#f-field-list li .field .body label{font-size:12px;margin-bottom:3px;font-weight:700}.wc-kalkulator-wrapper ul#f-field-list li .field .body label.error{background-color:#e30000;color:#fff;padding:6px;margin:6px 0;box-sizing:border-box}.wc-kalkulator-wrapper ul#f-field-list li .field .body .pair{display:flex;align-items:center}.wc-kalkulator-wrapper ul#f-field-list li .field .body .pair span.dashicons-no-alt{cursor:pointer;font-size:28px;color:red}.wc-kalkulator-wrapper ul#f-field-list li .field .body .pairs{margin-top:20px;margin-bottom:20px}.wc-kalkulator-wrapper ul#f-field-list li .field .body .pairs .pair:not(:first-child) label{display:none}.wc-kalkulator-wrapper ul#f-field-list li .field .body .pairs button{margin-right:6px;margin-bottom:6px}.wc-kalkulator-wrapper ul#f-field-list li .field .body .pairs .importer{display:none;margin-top:20px}.wc-kalkulator-wrapper ul#f-field-list li .field .body .pairs .importer textarea{display:block;width:100%;min-height:200px;margin-bottom:10px}.wc-kalkulator-wrapper ul#f-field-list li .field .body .column{float:left}.wc-kalkulator-wrapper ul#f-field-list li .field .body .column-1{width:40%;padding-right:20px}.wc-kalkulator-wrapper ul#f-field-list li .field .body .column-1-half{width:20%;padding-right:20px}.wc-kalkulator-wrapper ul#f-field-list li .field .body .column-2{width:40%}.wc-kalkulator-wrapper ul#f-field-list li .field .body .column-2-half{text-align:center;width:20%}.wc-kalkulator-wrapper ul#f-field-list li .field .body .column-1-2{width:80%}.wc-kalkulator-wrapper ul#f-field-list li .field .body .column-3{width:10%;padding-left:20px;text-align:center}.wc-kalkulator-wrapper ul#f-field-list li .field .body .column-4{width:10%;text-align:center}.wc-kalkulator-wrapper ul#f-field-list li .clear{clear:both}.wc-kalkulator-wrapper .input-group .dashicons,.wc-kalkulator-wrapper ul#f-field-list li .field .header .dashicons{padding:3px;margin-left:2px;margin-right:2px;cursor:pointer;color:#555;font-size:16px;line-height:1.5}.wc-kalkulator-wrapper .input-group .dashicons.action-drag,.wc-kalkulator-wrapper ul#f-field-list li .field .header .dashicons.action-drag{cursor:move;font-size:16px;line-height:1.5}.wc-kalkulator-wrapper .input-group .left,.wc-kalkulator-wrapper ul#f-field-list li .field .header .left{float:left}.wc-kalkulator-wrapper .input-group .right,.wc-kalkulator-wrapper ul#f-field-list li .field .header .right{float:right}.wc-kalkulator-wrapper ul#f-field-list li .field .body .param:not([type=checkbox]),.wc-kalkulator-wrapper ul#f-field-list li .field .body label{display:block;width:100%}.wc-kalkulator-wrapper ul#f-field-list li .field .body .param:not([type=checkbox]).inline,.wc-kalkulator-wrapper ul#f-field-list li .field .body label.inline{display:inline;margin-right:10px;width:auto}.wc-kalkulator-wrapper ul#f-field-list li .field .body .param.fdp-disallow-past-date,.wc-kalkulator-wrapper ul#f-field-list li .field .body .param[type=checkbox]{margin:10px 15px 14px 3px}.wc-kalkulator-wrapper ul#f-field-list li .field .body input[type=number].param,.wc-kalkulator-wrapper ul#f-field-list li .field .body input[type=text].param{margin-bottom:20px;border:1px solid #aaa;border-radius:0;padding:5px 10px}.wc-kalkulator-wrapper ul#f-field-list li .field .body .pair input[type=number],.wc-kalkulator-wrapper ul#f-field-list li .field .body .pair input[type=text]{border:1px solid #aaa;border-radius:0;padding:5px 10px;width:100%;margin-bottom:10px}.wc-kalkulator-wrapper ul#f-field-list li .field .body select.param{margin-bottom:20px;border:1px solid #aaa;border-radius:0;padding:5px 10px}.wc-kalkulator-wrapper .clearfix,.wc-kalkulator-wrapper ul#f-field-list li .field .body .pair:after{content:"";display:block;clear:both}.wc-kalkulator-wrapper ul#f-field-list li .header .wck-toggle-colspan,.wc-kalkulator-wrapper ul#f-field-list li .header .wck-toggle-colspan-label{display:none}.wc-kalkulator-wrapper ul#f-field-list.layout-two-col li{width:49.4%;display:inline-block;margin:.25%;vertical-align:top}.wc-kalkulator-wrapper ul#f-field-list.layout-two-col li.wck-layout-colspan{width:99.25%}.wc-kalkulator-wrapper ul#f-field-list.layout-two-col .header .wck-toggle-colspan{display:block;box-sizing:content-box;-moz-box-sizing:content-box;-webkit-box-sizing:content-box;margin-top:4px;cursor:pointer}.wc-kalkulator-wrapper ul#f-field-list.layout-two-col .header .wck-toggle-colspan-label{display:block;line-height:2.2em;font-size:12px;padding-right:6px}.wc-kalkulator-wrapper .pr-20{padding-right:20px}.wc-kalkulator-wrapper .input-icon{position:relative;font-family:monospace;width:100%;margin:10px 0 15px}.wc-kalkulator-wrapper .input-icon i{font-family:monospace;font-size:13px;position:absolute;display:block;top:11px;pointer-events:none;width:50px;text-align:right;font-style:normal;color:#00f}.wc-kalkulator-wrapper .input-icon input{border:1px solid #aaa;border-radius:0;padding:5px 10px 5px 55px;width:100%}.wc-kalkulator-wrapper .input-if i::after{content:"if"}.wc-kalkulator-wrapper .input-equation i::after{content:"price"}.wc-kalkulator-wrapper .input-stock i::after{content:"qty * "}.wc-kalkulator-wrapper #addon-inputs .input-equation i::after{content:"add"}.wc-kalkulator-wrapper .input-else i::after{content:"else"}.wc-kalkulator-wrapper .input-group{padding:8px;background-color:#eee;margin-bottom:5px}.wc-kalkulator-wrapper .ui-autocomplete-loading{background-image:none!important}.wc-kalkulator-wrapper .wc-category-search,.wc-kalkulator-wrapper .wc-enhanced-select,.wc-kalkulator-wrapper .wc-page-search,.wc-kalkulator-wrapper .wc-product-search{width:100%}.wc-kalkulator-wrapper button.add-operator{margin-right:3px}.wc-kalkulator-wrapper span.formula-field{padding-left:6px;cursor:pointer;font-weight:700}.wc-kalkulator-wrapper span.formula-field:hover{text-decoration:underline}.wc-kalkulator-wrapper .wp-media-image-preview{max-width:80px;max-height:80px;cursor:pointer}.wc-kalkulator-wrapper .wp-media-image-preview:hover{transform:scale(1.2);-moz-transform:scale(1.2);-webkit-transform:scale(1.2)}.wc-kalkulator-wrapper select.param{margin-bottom:20px}.wc-kalkulator-wrapper .iris-picker{position:absolute;z-index:9999}.wc-kalkulator-wrapper .fields-section{text-align:center;padding:50px;margin:0 auto;max-width:500px}.wc-kalkulator-wrapper .fields-section button,.wc-kalkulator-wrapper .fields-section select{font-size:16px}.wc-kalkulator-wrapper .fields-section select{width:300px;padding:5px 10px}.wc-kalkulator-wrapper .fields-section button{width:50px;padding:3px 8px}.wc-kalkulator-wrapper .fields-section button span{line-height:2}#wck-toolbar,.wc-kalkulator-wrapper .align-right{text-align:right}.wc-kalkulator-wrapper .wck-toggle-expand,.wc-kalkulator-wrapper .wck-toggle-layout{cursor:pointer}.wc-kalkulator-wrapper ul#f-field-list li .field .header .right{opacity:0}#wck-cv-builder .builder .and-condition:hover .cv-remove,.wc-kalkulator-wrapper ul#f-field-list li .field:hover .header .right{opacity:1}.wc-kalkulator-wrapper #wck_expression .wck-sortable-placeholder{border:1px dashed #888;background-color:#eee;box-shadow:none;text-align:center;color:#888;height:60px;margin-bottom:3px}.wc-kalkulator-wrapper #wck_expression .input-group .input-equation,.wc-kalkulator-wrapper #wck_expression .input-group .input-if{float:left;width:46%;margin:0 .5%}.wc-kalkulator-wrapper #wck_expression .input-group .input-buttons{float:left;width:2.5%;padding-top:5px}.wc-kalkulator-wrapper .inventory label{font-size:15px;margin:55px 0 10px;border-top:1px solid #c3c4c7;display:block;border-bottom:1px solid #c3c4c7;padding:10px 0 10px 5px}.wc-kalkulator-wrapper .cv-container{position:relative}.wc-kalkulator-wrapper .cv-container .action-field-visibility{position:absolute;right:5px;top:5px}.wc-kalkulator-wrapper .cv-container .visibility-readable{background-color:#fff}#postbox-container-2.fullscreen{position:fixed;z-index:999999;left:0;top:0;right:0;bottom:0;margin:0;background-color:#fff;overflow-y:scroll}#postbox-container-2.fullscreen #advanced-sortables,#postbox-container-2.fullscreen #normal-sortables{padding:20px}#wck-toolbar{position:fixed;bottom:0;left:0;right:0;z-index:9999999;background:#f5f5f5;border-top:1px solid #aaa;padding:10px 20px;box-shadow:0 0 45px #000}#wck-toolbar .wck-toggle-fullscreen{cursor:pointer}#wck-toolbar ul{margin:0}#wck-toolbar ul li{margin-bottom:0;display:inline-block}#wck-toolbar ul li,#wck-toolbar ul li li>*{vertical-align:middle}#wck-toolbar ul li.space{width:10px}#wck-expression-toolbar{display:none;position:absolute;top:0;border:1px solid #888;border-radius:5px;box-shadow:0 0 50px rgba(0,0,0,.5);padding:10px 20px;background-color:#fff;margin:0;width:360px;vertical-align:middle;text-align:justify;tab-index:0}#wck-expression-toolbar *{tab-index:0}#wck-expression-toolbar .button{margin-bottom:6px}#wck-expression-toolbar select{width:270px}#wck-cv-builder{overflow:none;display:none;border-radius:3px;position:fixed;z-index:99999999;top:150px;left:50%;margin-left:-500px;bottom:150px;width:1000px;background-color:#fff;box-shadow:0 0 200px 100px rgba(0,0,0,.4);flex-direction:column}#wck-cv-builder .template{display:none;visibility:hidden}#wck-cv-builder .builder{flex-basis:100%;margin:20px 40px 0 5px;overflow-y:auto}#wck-cv-builder .builder .or-group{width:100%}#wck-cv-builder .builder .and-condition{display:flex;gap:3px;margin-bottom:3px}#wck-cv-builder .builder .and-condition .validation-error{border-color:red}#wck-cv-builder .builder .and-condition button{margin-bottom:3px}#wck-cv-builder .builder .and-condition .p-value{flex-grow:2}#wck-cv-builder .builder .or-condition{display:flex;flex-direction:row;align-content:stretch;gap:3px;flex-wrap:wrap}#wck-cv-builder .builder .or-condition:not(:first-child)::before{content:"OR";flex-basis:100%;display:block;font-weight:700;padding:10px;margin-left:25px}#wck-cv-builder .builder .and-group{flex-grow:4}#wck-cv-builder .builder .cv-remove{text-decoration:none;opacity:0;padding:5px}#wck-cv-builder .builder .cv-remove span{font-size:14px;line-height:1}#wck-cv-builder .builder .cv-action-and{align-self:end;margin-bottom:3px}#wck-cv-builder .builder .cv-action-or{display:block;margin-top:10px;margin-left:33px}#wck-cv-builder h1{padding:40px 40px 0}#wck-cv-builder p.save{padding:10px 20px 0;text-align:right;border-top:1px solid #ccc} \ No newline at end of file diff --git a/assets/css/admin.sass b/assets/css/admin.sass index eb54e7d..6053621 100644 --- a/assets/css/admin.sass +++ b/assets/css/admin.sass @@ -1,9 +1,11 @@ .wc-kalkulator-wrapper html scroll-padding-top: 100px + p &.add-buttons line-height: 36px + a &.button &.action-add-image @@ -12,206 +14,520 @@ border: 1px solid #aaa border-radius: 0 padding: 5px 10px + &.action-add-attachment margin-bottom: 10px + ul#f-field-list width: 100% + * -webkit-box-sizing: border-box -moz-box-sizing: border-box box-sizing: border-box + + .wck-sortable-placeholder + border: 1px dashed #888 + background-color: #eee + box-shadow: none + text-align: center + color: #888 + padding: 22px + li box-shadow: 0px 5px 10px #ccc margin-bottom: 5px + .field border: 1px solid #AAA background-color: #FFFFFF + .header + background-color: #F5F5F5 padding: 8px + cursor: move .text font-size: 14px color: #000 padding: 5px + + .name + padding: 5px + .body padding: 20px border-top: 1px solid #AAA - .half + + .half, .third float: left width: 50% - .second padding-left: 10px + padding-right: 10px + + .second, .last + padding-left: 10px + padding-right: 0 + .first padding-right: 10px + padding-left: 0 + + .third + width: 33% + .fu-allowed-extensions margin-top: 10px + label font-size: 12px margin-bottom: 3px font-weight: 700 + &.error background-color: #E30000 color: #FFF padding: 6px margin: 6px 0 6px 0 box-sizing: border-box + .pair - margin-bottom: 10px display: flex align-items: center + span &.dashicons-no-alt cursor: pointer font-size: 28px color: red + .pairs margin-top: 20px + margin-bottom: 20px + + .pair:not(:first-child) + label + display: none + button margin-right: 6px margin-bottom: 6px + .importer display: none margin-top: 20px + textarea display: block width: 100% min-height: 200px margin-bottom: 10px + .column float: left + .column-1 width: 40% padding-right: 20px + .column-1-half width: 20% padding-right: 20px + .column-2 width: 40% + .column-2-half text-align: center width: 20% + .column-1-2 width: 80% + .column-3 width: 10% padding-left: 20px text-align: center + .column-4 width: 10% text-align: center + .clear clear: both + ul#f-field-list li .field .header .dashicons, .input-group .dashicons padding: 3px margin-left: 2px margin-right: 2px cursor: pointer color: #555 + font-size: 16px + line-height: 1.5 + + &.action-drag + cursor: move + font-size: 16px + line-height: 1.5 + ul#f-field-list li .field .header .left, .input-group .left float: left + ul#f-field-list li .field .header .right, .input-group .right float: right + ul#f-field-list li .field .body .param:not([type=checkbox]), ul#f-field-list li .field .body label display: block width: 100% + &.inline display: inline margin-right: 10px width: auto - ul#f-field-list li .field .body .param.f-required, ul#f-field-list li .field .body .param.fdp-disallow-past-date, ul#f-field-list li .field .body .param[type=checkbox] + + ul#f-field-list li .field .body .param.fdp-disallow-past-date, ul#f-field-list li .field .body .param[type=checkbox] margin: 10px 15px 14px 3px + ul#f-field-list li .field .body input[type="text"].param, ul#f-field-list li .field .body input[type="number"].param, ul#f-field-list li .field .body .pair input[type="text"], - ul#f-field-list li .field .body .pair input[type="number"] + ul#f-field-list li .field .body .pair input[type="number"], + ul#f-field-list li .field .body select.param margin-bottom: 20px border: 1px solid #aaa border-radius: 0 padding: 5px 10px + ul#f-field-list li .field .body .pair input[type="text"], ul#f-field-list li .field .body .pair input[type="number"] width: 100% + margin-bottom: 10px + ul#f-field-list li .field .body .pair:after, .clearfix content: "" display: block clear: both + + ul#f-field-list li .header + .wck-toggle-colspan, .wck-toggle-colspan-label + display: none + + ul#f-field-list.layout-two-col + li + width: 49.4% + display: inline-block + margin: 0.25% + vertical-align: top + + &.wck-layout-colspan + width: 99.25% + + .header + .wck-toggle-colspan + display: block + box-sizing: content-box + -moz-box-sizing: content-box + -webkit-box-sizing: content-box + margin-top: 4px + cursor: pointer + + .wck-toggle-colspan-label + display: block + line-height: 2.2em + font-size: 12px + padding-right: 6px + .pr-20 padding-right: 20px + .input-icon position: relative font-family: monospace width: 100% - margin: 10px 0 10px 0 + margin: 10px 0 15px 0 + i font-family: monospace - font-size: 15px + font-size: 13px position: absolute display: block - top: 10px + top: 11px pointer-events: none - width: 45px + width: 50px text-align: right font-style: normal color: blue + input border: 1px solid #aaa border-radius: 0 padding: 5px 10px 5px 55px width: 100% + .input-if i &::after content: 'if' + .input-equation i &::after - content: '=' + content: 'price' + + .input-stock + i::after + content: 'qty * ' + #addon-inputs .input-equation i::after content: 'add' + .input-else i &::after content: 'else' + .input-group - padding: 12px - border: 1px solid #AAA - background-color: #FFFFFF + padding: 8px + background-color: #EEE margin-bottom: 5px + .ui-autocomplete-loading background-image: none !important + .wc-product-search, .wc-category-search, .wc-enhanced-select, .wc-page-search width: 100% + + button.add-operator + margin-right: 3px + span &.formula-field - padding-right: 6px + padding-left: 6px cursor: pointer font-weight: 700 + &:hover text-decoration: underline + .wp-media-image-preview max-width: 80px max-height: 80px cursor: pointer + &:hover transform: scale(1.2) -moz-transform: scale(1.2) -webkit-transform: scale(1.2) + select.param margin-bottom: 20px + .iris-picker position: absolute z-index: 9999 + .fields-section text-align: center padding: 50px margin: 0 auto max-width: 500px + select, button font-size: 16px + select width: 300px padding: 5px 10px + button width: 50px padding: 3px 8px + + span + line-height: 2 + + .align-right + text-align: right + + .wck-toggle-layout, .wck-toggle-expand + cursor: pointer + + ul#f-field-list li .field .header .right + opacity: 0 + + ul#f-field-list li .field:hover .header .right + opacity: 1 + + #wck_expression + .wck-sortable-placeholder + border: 1px dashed #888 + background-color: #eee + box-shadow: none + text-align: center + color: #888 + height: 60px + margin-bottom: 3px + + .input-group + .input-if, .input-equation + float: left + width: 46% + margin: 0 0.5% + + .input-buttons + float: left + width: 2.5% + padding-top: 5px + + .inventory label + font-size: 15px + margin: 55px 0 10px 0 + border-top: 1px solid #c3c4c7 + display: block + border-bottom: 1px solid #c3c4c7 + padding: 10px 0 10px 5px + + .cv-container + position: relative + .action-field-visibility + position: absolute + right: 5px + top: 5px + .visibility-readable + background-color: #FFF + + +#postbox-container-2.fullscreen + position: fixed + z-index: 999999 + left: 0 + top: 0 + right: 0 + bottom: 0 + margin: 0 + background-color: #FFF + overflow-y: scroll + + #normal-sortables, #advanced-sortables + padding: 20px + +#wck-toolbar + position: fixed + bottom: 0 + left: 0 + right: 0 + z-index: 9999999 + background: #F5F5F5 + border-top: 1px solid #AAA + text-align: right + padding: 10px 20px + box-shadow: 0px 0px 45px #000 + + .wck-toggle-fullscreen + cursor: pointer + + ul + margin: 0 + + li + vertical-align: middle + margin-bottom: 0 + display: inline-block + + li > * + vertical-align: middle + + &.space + width: 10px + +#wck-expression-toolbar + &, * + tab-index: 0 + display: none + position: absolute + top: 0 + border: 1px solid #888 + border-radius: 5px + box-shadow: 0 0 50px rgba(0, 0, 0, 0.5) + padding: 10px 20px + background-color: #fff + margin: 0 + width: 360px + vertical-align: middle + text-align: justify + + .button + margin-bottom: 6px + + select + width: 270px + +#wck-cv-builder + overflow: none + display: none + border-radius: 3px + position: fixed + z-index: 99999999 + top: 150px + left: 50% + margin-left: -500px + bottom: 150px + width: 1000px + background-color: #FFFFFF + box-shadow: 0 0 200px 100px rgba(0, 0, 0, 0.4) + flex-direction: column + .template + display: none + visibility: hidden + .builder + flex-basis: 100% + margin: 20px 40px 0 5px + overflow-y: auto + .or-group + width: 100% + .and-condition + display: flex + gap: 3px + .validation-error + border-color: red + &, button + margin-bottom: 3px + .p-value + flex-grow: 2 + .or-condition + display: flex + flex-direction: row + align-content: stretch + gap: 3px + flex-wrap: wrap + &:not(:first-child)::before + content: 'OR' + flex-basis: 100% + display: block + font-weight: 700 + padding: 10px + margin-left: 25px + .and-group + flex-grow: 4 + .cv-remove + text-decoration: none + opacity: 0 + padding: 5px span - line-height: 2 \ No newline at end of file + font-size: 14px + line-height: 1 + .and-condition:hover + .cv-remove + opacity: 1 + .cv-action-and + align-self: end + margin-bottom: 3px + .cv-action-or + display: block + margin-top: 10px + margin-left: 33px + h1 + padding: 40px 40px 0 40px + p.save + padding: 10px 20px 0px + text-align: right + border-top: 1px solid #ccc diff --git a/assets/css/cart.min.min.css b/assets/css/cart.min.min.css deleted file mode 100644 index fde0398..0000000 --- a/assets/css/cart.min.min.css +++ /dev/null @@ -1 +0,0 @@ -p.wck-cart{font-size:14px}span.wck-colorswatch{display:inline-block;width:40px;height:40px;margin:0 5px 5px 0} \ No newline at end of file diff --git a/assets/css/price.css b/assets/css/price.css index c03b27d..86aff0b 100644 --- a/assets/css/price.css +++ b/assets/css/price.css @@ -3,6 +3,6 @@ p.wckalkulator-price { padding-top: 20px } -.summary p.price, .summary span.price, .summary .woocommerce-Price-amount, .summary .reset_variations { +.summary p.price, .summary span.price, .summary .woocommerce-Price-amount, .summary .reset_variations, .woocommerce-variation-price { display: none !important; } \ No newline at end of file diff --git a/assets/css/price.min.css b/assets/css/price.min.css index 03dbf4c..135b8e9 100644 --- a/assets/css/price.min.css +++ b/assets/css/price.min.css @@ -1 +1 @@ -p.wckalkulator-price{font-size:20px;padding-top:20px}.summary .reset_variations,.summary .woocommerce-Price-amount,.summary p.price,.summary span.price{display:none!important} \ No newline at end of file +p.wckalkulator-price{font-size:20px;padding-top:20px}.summary .reset_variations,.summary .woocommerce-Price-amount,.summary p.price,.summary span.price,.woocommerce-variation-price{display:none!important} \ No newline at end of file diff --git a/assets/css/price.min.min.css b/assets/css/price.min.min.css deleted file mode 100644 index 03dbf4c..0000000 --- a/assets/css/price.min.min.css +++ /dev/null @@ -1 +0,0 @@ -p.wckalkulator-price{font-size:20px;padding-top:20px}.summary .reset_variations,.summary .woocommerce-Price-amount,.summary p.price,.summary span.price{display:none!important} \ No newline at end of file diff --git a/assets/css/product.css b/assets/css/product.css index c82eb52..4dad89e 100644 --- a/assets/css/product.css +++ b/assets/css/product.css @@ -1,4 +1,14 @@ /* Product fields */ +.single-product div.product table.variations.wck-layout-two-col td.table-cell, table.variations.wck-layout-two-col td.table-cell { + display: table-cell; +} +.single-product div.product table.variations.wck-layout-two-col td.table-cell.col-1, table.variations.wck-layout-two-col td.table-cell.col-1 { + padding-right: 10px; +} +.single-product div.product table.variations.wck-layout-two-col td.table-cell table.wck-inner-table, table.variations.wck-layout-two-col td.table-cell table.wck-inner-table { + padding: 0; + margin: 0; +} .single-product div.product table.variations td.label, table.variations td.label { margin-bottom: 10px; } diff --git a/assets/css/product.css.map b/assets/css/product.css.map index 1a83e71..1ba0ce8 100644 --- a/assets/css/product.css.map +++ b/assets/css/product.css.map @@ -1 +1 @@ -{"version":3,"sourceRoot":"","sources":["product.sass"],"names":[],"mappings":"AAAA;AAGE;EACE;;AACA;EACE;EACA;EACA;EACA;;AACF;EACE;;AACA;EACE;;AACN;EACE;;AACA;EACE;EACA;EACA;EACA;;AAEA;EACE;;AACF;EACE;EACA;;AACJ;EACE;EACA;EACA;EACA;EACA;;AACA;EACE;EACA;EACA;EACA;;AACA;EACE;;AACJ;EACE;EACA;;AACF;EACE;;AACJ;EACE;EACA;;AACA;EACE;;AAKF;EACE;EACA;;AACN;EACE;EACA;;;AAGJ;AAEA;EACE;EACA;EACA;EACA;;;AAEF;EACE;EACA;EACA;EACA;;;AAEF;EACE;EACA;EACA;EACA;EACA;;;AAEF;EACE;;;AAEF;EACE;;;AAEF;AAEA;EACE;EACA;EACA;EACA;EACA;;AAEA;EACE;;AAEA;EACE;EACA;EACA;;AAEJ;EACE;;AAEA;EACE;EACA;EACA;;AAEJ;EACE;;AAEA;EACE;EACA;EACA;;AAEJ;EACE;;AAEA;EACE;EACA;EACA;;;AAEN;EACE;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;;AAEF;EACE;EACA;;;AAEF;EACE;EACA;EACA;EACA;EACA;EACA","file":"product.css"} \ No newline at end of file +{"version":3,"sourceRoot":"","sources":["product.sass"],"names":[],"mappings":"AAAA;AAGE;EACE;;AACA;EACE;;AACF;EACE;EACA;;AACJ;EACE;;AACA;EACE;EACA;EACA;EACA;;AACF;EACE;;AACA;EACE;;AACN;EACE;;AACA;EACE;EACA;EACA;EACA;;AAEA;EACE;;AACF;EACE;EACA;;AACJ;EACE;EACA;EACA;EACA;EACA;;AACA;EACE;EACA;EACA;EACA;;AACA;EACE;;AACJ;EACE;EACA;;AACF;EACE;;AACJ;EACE;EACA;;AACA;EACE;;AAKF;EACE;EACA;;AACN;EACE;EACA;;;AAGJ;AAEA;EACE;EACA;EACA;EACA;;;AAEF;EACE;EACA;EACA;EACA;;;AAEF;EACE;EACA;EACA;EACA;EACA;;;AAEF;EACE;;;AAEF;EACE;;;AAEF;AAEA;EACE;EACA;EACA;EACA;EACA;;AAEA;EACE;;AAEA;EACE;EACA;EACA;;AAEJ;EACE;;AAEA;EACE;EACA;EACA;;AAEJ;EACE;;AAEA;EACE;EACA;EACA;;AAEJ;EACE;;AAEA;EACE;EACA;EACA;;;AAEN;EACE;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;;AAEF;EACE;EACA;;;AAEF;EACE;EACA;EACA;EACA;EACA;EACA","file":"product.css"} \ No newline at end of file diff --git a/assets/css/product.min.css b/assets/css/product.min.css index 2553377..d59b2bb 100644 --- a/assets/css/product.min.css +++ b/assets/css/product.min.css @@ -1 +1 @@ -.single-product div.product table.variations td.label,table.variations td.label{margin-bottom:10px}.single-product div.product table.variations td.label .wck-field-tip,table.variations td.label .wck-field-tip{width:18px;height:22px;font-size:18px;vertical-align:middle}.single-product div.product table.variations td.label label,table.variations td.label label{font-weight:600}.single-product div.product table.variations td.label label .required-asterisk,table.variations td.label label .required-asterisk{color:red}.single-product div.product table.variations td.value,table.variations td.value{padding-bottom:1em}.single-product div.product table.variations td.value input[type=email],.single-product div.product table.variations td.value input[type=number],.single-product div.product table.variations td.value input[type=text],.single-product div.product table.variations td.value label,.single-product div.product table.variations td.value select,.single-product div.product table.variations td.value textarea,table.variations td.value input[type=email],table.variations td.value input[type=number],table.variations td.value input[type=text],table.variations td.value label,table.variations td.value select,table.variations td.value textarea{display:block;width:100%;max-width:100%!important;cursor:pointer}.single-product div.product table.variations td.value label [type=checkbox],.single-product div.product table.variations td.value label [type=radio],table.variations td.value label [type=checkbox],table.variations td.value label [type=radio]{margin-right:5px}.single-product div.product table.variations td.value label.inline,table.variations td.value label.inline{display:inline!important;width:auto!important}.single-product div.product table.variations td.value .wck-imageselect,table.variations td.value .wck-imageselect{width:auto;cursor:pointer;display:inline-block;margin:0 5px 5px 0;text-align:center}.single-product div.product table.variations td.value .wck-imageselect [type=radio],.wck-colorswatches [type=radio],.wck-imageswatches [type=radio],table.variations td.value .wck-imageselect [type=radio]{position:absolute;opacity:0;width:0;height:0}.single-product div.product table.variations td.value .wck-imageselect [type=radio]:checked+img,.wck-colorswatches [type=radio]:checked+span.colorswatch,.wck-imageswatches [type=radio]:checked+img,table.variations td.value .wck-imageselect [type=radio]:checked+img{outline:2px solid #222}.single-product div.product table.variations td.value .wck-imageselect img,table.variations td.value .wck-imageselect img{max-width:60px;margin:0 auto}.single-product div.product table.variations td.value .wck-imageselect span,table.variations td.value .wck-imageselect span{font-size:13px}.single-product div.product table.variations td.value .wck-range-date-picker,table.variations td.value .wck-range-date-picker{width:49%!important;float:left}.single-product div.product table.variations td.value .wck-range-date-picker.date_from,table.variations td.value .wck-range-date-picker.date_from{margin-right:2%}.single-product div.product table.variations tr.wck-colorswatches td.value label,table.variations tr.wck-colorswatches td.value label{display:inline-block;width:auto}.single-product div.product table.variations .clearfix,table.variations .clearfix{clear:both;content:""}.wck-imageswatches [type=radio]+img{cursor:pointer;display:inline;max-width:60px;margin:0 5px 5px 0}.wck-colorswatches [type=radio]+span.colorswatch{cursor:pointer;display:inline-block;width:40px;height:40px;margin:0 5px 5px 0}.wck-imageswatches .caption{display:none}#tiptip_holder{display:none;z-index:8675309;position:absolute;top:0;left:0}#tiptip_holder.tip_top{padding-bottom:5px}#tiptip_holder.tip_top #tiptip_arrow_inner{margin-top:-7px;margin-left:-6px;border-top-color:#333}#tiptip_holder.tip_bottom{padding-top:5px}#tiptip_holder.tip_bottom #tiptip_arrow_inner{margin-top:-5px;margin-left:-6px;border-bottom-color:#333}#tiptip_holder.tip_right{padding-left:5px}#tiptip_holder.tip_right #tiptip_arrow_inner{margin-top:-6px;margin-left:-5px;border-right-color:#333}#tiptip_holder.tip_left{padding-right:5px}#tiptip_holder.tip_left #tiptip_arrow_inner{margin-top:-6px;margin-left:-7px;border-left-color:#333}#tiptip_content,.chart-tooltip,.wc_error_tip{color:#fff;font-size:.8em;max-width:150px;background:#333;text-align:center;border-radius:3px;padding:.618em 1em;box-shadow:0 1px 3px rgba(0,0,0,.2)}#tiptip_content code,.chart-tooltip code,.wc_error_tip code{padding:1px;background:#888}#tiptip_arrow,#tiptip_arrow_inner{position:absolute;border-color:transparent;border-style:solid;border-width:6px;height:0;width:0} \ No newline at end of file +.single-product div.product table.variations.wck-layout-two-col td.table-cell,table.variations.wck-layout-two-col td.table-cell{display:table-cell}.single-product div.product table.variations.wck-layout-two-col td.table-cell.col-1,table.variations.wck-layout-two-col td.table-cell.col-1{padding-right:10px}.single-product div.product table.variations.wck-layout-two-col td.table-cell table.wck-inner-table,table.variations.wck-layout-two-col td.table-cell table.wck-inner-table{padding:0;margin:0}.single-product div.product table.variations td.label,table.variations td.label{margin-bottom:10px}.single-product div.product table.variations td.label .wck-field-tip,table.variations td.label .wck-field-tip{width:18px;height:22px;font-size:18px;vertical-align:middle}.single-product div.product table.variations td.label label,table.variations td.label label{font-weight:600}.single-product div.product table.variations td.label label .required-asterisk,table.variations td.label label .required-asterisk{color:red}.single-product div.product table.variations td.value,table.variations td.value{padding-bottom:1em}.single-product div.product table.variations td.value input[type=email],.single-product div.product table.variations td.value input[type=number],.single-product div.product table.variations td.value input[type=text],.single-product div.product table.variations td.value label,.single-product div.product table.variations td.value select,.single-product div.product table.variations td.value textarea,table.variations td.value input[type=email],table.variations td.value input[type=number],table.variations td.value input[type=text],table.variations td.value label,table.variations td.value select,table.variations td.value textarea{display:block;width:100%;max-width:100%!important;cursor:pointer}.single-product div.product table.variations td.value label [type=checkbox],.single-product div.product table.variations td.value label [type=radio],table.variations td.value label [type=checkbox],table.variations td.value label [type=radio]{margin-right:5px}.single-product div.product table.variations td.value label.inline,table.variations td.value label.inline{display:inline!important;width:auto!important}.single-product div.product table.variations td.value .wck-imageselect,table.variations td.value .wck-imageselect{width:auto;cursor:pointer;display:inline-block;margin:0 5px 5px 0;text-align:center}.single-product div.product table.variations td.value .wck-imageselect [type=radio],.wck-colorswatches [type=radio],.wck-imageswatches [type=radio],table.variations td.value .wck-imageselect [type=radio]{position:absolute;opacity:0;width:0;height:0}.single-product div.product table.variations td.value .wck-imageselect [type=radio]:checked+img,.wck-colorswatches [type=radio]:checked+span.colorswatch,.wck-imageswatches [type=radio]:checked+img,table.variations td.value .wck-imageselect [type=radio]:checked+img{outline:2px solid #222}.single-product div.product table.variations td.value .wck-imageselect img,table.variations td.value .wck-imageselect img{max-width:60px;margin:0 auto}.single-product div.product table.variations td.value .wck-imageselect span,table.variations td.value .wck-imageselect span{font-size:13px}.single-product div.product table.variations td.value .wck-range-date-picker,table.variations td.value .wck-range-date-picker{width:49%!important;float:left}.single-product div.product table.variations td.value .wck-range-date-picker.date_from,table.variations td.value .wck-range-date-picker.date_from{margin-right:2%}.single-product div.product table.variations tr.wck-colorswatches td.value label,table.variations tr.wck-colorswatches td.value label{display:inline-block;width:auto}.single-product div.product table.variations .clearfix,table.variations .clearfix{clear:both;content:""}.wck-imageswatches [type=radio]+img{cursor:pointer;display:inline;max-width:60px;margin:0 5px 5px 0}.wck-colorswatches [type=radio]+span.colorswatch{cursor:pointer;display:inline-block;width:40px;height:40px;margin:0 5px 5px 0}.wck-imageswatches .caption{display:none}#tiptip_holder{display:none;z-index:8675309;position:absolute;top:0;left:0}#tiptip_holder.tip_top{padding-bottom:5px}#tiptip_holder.tip_top #tiptip_arrow_inner{margin-top:-7px;margin-left:-6px;border-top-color:#333}#tiptip_holder.tip_bottom{padding-top:5px}#tiptip_holder.tip_bottom #tiptip_arrow_inner{margin-top:-5px;margin-left:-6px;border-bottom-color:#333}#tiptip_holder.tip_right{padding-left:5px}#tiptip_holder.tip_right #tiptip_arrow_inner{margin-top:-6px;margin-left:-5px;border-right-color:#333}#tiptip_holder.tip_left{padding-right:5px}#tiptip_holder.tip_left #tiptip_arrow_inner{margin-top:-6px;margin-left:-7px;border-left-color:#333}#tiptip_content,.chart-tooltip,.wc_error_tip{color:#fff;font-size:.8em;max-width:150px;background:#333;text-align:center;border-radius:3px;padding:.618em 1em;box-shadow:0 1px 3px rgba(0,0,0,.2)}#tiptip_content code,.chart-tooltip code,.wc_error_tip code{padding:1px;background:#888}#tiptip_arrow,#tiptip_arrow_inner{position:absolute;border-color:transparent;border-style:solid;border-width:6px;height:0;width:0} \ No newline at end of file diff --git a/assets/css/product.min.min.css b/assets/css/product.min.min.css deleted file mode 100644 index 2553377..0000000 --- a/assets/css/product.min.min.css +++ /dev/null @@ -1 +0,0 @@ -.single-product div.product table.variations td.label,table.variations td.label{margin-bottom:10px}.single-product div.product table.variations td.label .wck-field-tip,table.variations td.label .wck-field-tip{width:18px;height:22px;font-size:18px;vertical-align:middle}.single-product div.product table.variations td.label label,table.variations td.label label{font-weight:600}.single-product div.product table.variations td.label label .required-asterisk,table.variations td.label label .required-asterisk{color:red}.single-product div.product table.variations td.value,table.variations td.value{padding-bottom:1em}.single-product div.product table.variations td.value input[type=email],.single-product div.product table.variations td.value input[type=number],.single-product div.product table.variations td.value input[type=text],.single-product div.product table.variations td.value label,.single-product div.product table.variations td.value select,.single-product div.product table.variations td.value textarea,table.variations td.value input[type=email],table.variations td.value input[type=number],table.variations td.value input[type=text],table.variations td.value label,table.variations td.value select,table.variations td.value textarea{display:block;width:100%;max-width:100%!important;cursor:pointer}.single-product div.product table.variations td.value label [type=checkbox],.single-product div.product table.variations td.value label [type=radio],table.variations td.value label [type=checkbox],table.variations td.value label [type=radio]{margin-right:5px}.single-product div.product table.variations td.value label.inline,table.variations td.value label.inline{display:inline!important;width:auto!important}.single-product div.product table.variations td.value .wck-imageselect,table.variations td.value .wck-imageselect{width:auto;cursor:pointer;display:inline-block;margin:0 5px 5px 0;text-align:center}.single-product div.product table.variations td.value .wck-imageselect [type=radio],.wck-colorswatches [type=radio],.wck-imageswatches [type=radio],table.variations td.value .wck-imageselect [type=radio]{position:absolute;opacity:0;width:0;height:0}.single-product div.product table.variations td.value .wck-imageselect [type=radio]:checked+img,.wck-colorswatches [type=radio]:checked+span.colorswatch,.wck-imageswatches [type=radio]:checked+img,table.variations td.value .wck-imageselect [type=radio]:checked+img{outline:2px solid #222}.single-product div.product table.variations td.value .wck-imageselect img,table.variations td.value .wck-imageselect img{max-width:60px;margin:0 auto}.single-product div.product table.variations td.value .wck-imageselect span,table.variations td.value .wck-imageselect span{font-size:13px}.single-product div.product table.variations td.value .wck-range-date-picker,table.variations td.value .wck-range-date-picker{width:49%!important;float:left}.single-product div.product table.variations td.value .wck-range-date-picker.date_from,table.variations td.value .wck-range-date-picker.date_from{margin-right:2%}.single-product div.product table.variations tr.wck-colorswatches td.value label,table.variations tr.wck-colorswatches td.value label{display:inline-block;width:auto}.single-product div.product table.variations .clearfix,table.variations .clearfix{clear:both;content:""}.wck-imageswatches [type=radio]+img{cursor:pointer;display:inline;max-width:60px;margin:0 5px 5px 0}.wck-colorswatches [type=radio]+span.colorswatch{cursor:pointer;display:inline-block;width:40px;height:40px;margin:0 5px 5px 0}.wck-imageswatches .caption{display:none}#tiptip_holder{display:none;z-index:8675309;position:absolute;top:0;left:0}#tiptip_holder.tip_top{padding-bottom:5px}#tiptip_holder.tip_top #tiptip_arrow_inner{margin-top:-7px;margin-left:-6px;border-top-color:#333}#tiptip_holder.tip_bottom{padding-top:5px}#tiptip_holder.tip_bottom #tiptip_arrow_inner{margin-top:-5px;margin-left:-6px;border-bottom-color:#333}#tiptip_holder.tip_right{padding-left:5px}#tiptip_holder.tip_right #tiptip_arrow_inner{margin-top:-6px;margin-left:-5px;border-right-color:#333}#tiptip_holder.tip_left{padding-right:5px}#tiptip_holder.tip_left #tiptip_arrow_inner{margin-top:-6px;margin-left:-7px;border-left-color:#333}#tiptip_content,.chart-tooltip,.wc_error_tip{color:#fff;font-size:.8em;max-width:150px;background:#333;text-align:center;border-radius:3px;padding:.618em 1em;box-shadow:0 1px 3px rgba(0,0,0,.2)}#tiptip_content code,.chart-tooltip code,.wc_error_tip code{padding:1px;background:#888}#tiptip_arrow,#tiptip_arrow_inner{position:absolute;border-color:transparent;border-style:solid;border-width:6px;height:0;width:0} \ No newline at end of file diff --git a/assets/css/product.sass b/assets/css/product.sass index c9d860e..82f0eb2 100644 --- a/assets/css/product.sass +++ b/assets/css/product.sass @@ -1,6 +1,13 @@ /* Product fields .single-product div.product table.variations, table.variations + &.wck-layout-two-col td.table-cell + display: table-cell + &.col-1 + padding-right: 10px + table.wck-inner-table + padding: 0 + margin: 0 td.label margin-bottom: 10px .wck-field-tip diff --git a/assets/js/admin-fieldset-post-type.js b/assets/js/admin-fieldset-post-type.js new file mode 100644 index 0000000..ab393ba --- /dev/null +++ b/assets/js/admin-fieldset-post-type.js @@ -0,0 +1,19 @@ +(function ($) { + "use strict"; + $(document).ready(function ($) { + $("a.wck-toggle-publish").on("click", function (e) { + e.preventDefault(); + var data = 'action=wckalkulator_fieldset_post_type_toggle_publish' + + '&_wck_ajax_nonce=' + wck_ajax_fieldset._wck_ajax_nonce + + '&post_id=' + $(this).data("post-id"); + var toggleButton = $(this); + toggleButton.css('pointer-events', 'none'); + $.post(wck_ajax_fieldset.ajax_url, data, function (response) { + if (typeof response === "object" && response.status === "success") { + toggleButton.find(".woocommerce-input-toggle").removeClass("woocommerce-input-toggle--enabled").removeClass("woocommerce-input-toggle--disabled").addClass("woocommerce-input-toggle--" + response.state); + toggleButton.css('pointer-events', ''); + } + }); + }); + }); +})(jQuery); \ No newline at end of file diff --git a/assets/js/admin-fieldset-post-type.min.js b/assets/js/admin-fieldset-post-type.min.js new file mode 100644 index 0000000..9921e3a --- /dev/null +++ b/assets/js/admin-fieldset-post-type.min.js @@ -0,0 +1 @@ +(function($){"use strict";$(document).ready(function($){$("a.wck-toggle-publish").on("click",function(e){e.preventDefault();var data="action=wckalkulator_fieldset_post_type_toggle_publish"+"&_wck_ajax_nonce="+wck_ajax_fieldset._wck_ajax_nonce+"&post_id="+$(this).data("post-id");var toggleButton=$(this);toggleButton.css("pointer-events","none");$.post(wck_ajax_fieldset.ajax_url,data,function(response){if(typeof response==="object"&&response.status==="success"){toggleButton.find(".woocommerce-input-toggle").removeClass("woocommerce-input-toggle--enabled").removeClass("woocommerce-input-toggle--disabled").addClass("woocommerce-input-toggle--"+response.state);toggleButton.css("pointer-events","")}})})})})(jQuery); \ No newline at end of file diff --git a/assets/js/admin.js b/assets/js/admin.js index 882e6e0..4e057d8 100644 --- a/assets/js/admin.js +++ b/assets/js/admin.js @@ -1,21 +1,24 @@ (function ($) { "use strict"; var $WK = {}; + var $CV = {}; + $(document).ready(function ($) { var suggest = []; var input_key_pressed = {}; $("#f-field-list").sortable({ - "handle": ".action-drag" + handle: ".header", + placeholder: "wck-sortable-placeholder", + tolerance: "pointer" }); + $("#extra-inputs, #addon-inputs").sortable({ - "handle": ".action-drag" + handle: ".action-drag", + placeholder: "wck-sortable-placeholder", + tolerance: "pointer" }); - $("a.savefields").on("click", function (e) { - e.preventDefault(); - $WK.saveFields(); - }); $('').insertBefore("#wpwrap"); $WK.colorpicker = $("input.wck-global-color-picker"); $WK.colorpicker.iris(); @@ -24,22 +27,141 @@ $WK.wpMediaFrame = null; $WK.wpMediaTarget = null; $WK.iconPreloader = "data:image/gif;base64,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"; + $WK.fieldsLayout = 'one-col'; + + $WK.toggleButton = function (btn, e) { + e.preventDefault(); + if (btn.hasClass("woocommerce-input-toggle--disabled")) { + btn.removeClass("woocommerce-input-toggle--disabled").addClass("woocommerce-input-toggle--enabled"); + return true + } else { + btn.removeClass("woocommerce-input-toggle--enabled").addClass("woocommerce-input-toggle--disabled"); + return false; + } + return false; + }; - $("body").on("focus", "#wck_expression input", function () { + $WK.fullscreenMode = function (state) { + if (state) { + $("body").css("overflow", "hidden"); + $("#postbox-container-2").addClass("fullscreen"); + } else { + $("body").css("overflow", "auto"); + $("#postbox-container-2").removeClass("fullscreen"); + } + }; + + + $(".wck-toggle-layout").on("click", function (e) { + var state = $WK.toggleButton($(this), e); + $WK.fieldsLayout = state ? 'two-col' : 'one-col'; + $WK.updateLayout(); + }); + + $(".wck-toggle-fullscreen").on("click", function (e) { + var state = $WK.toggleButton($(this), e); + $WK.fullscreenMode(state); + }); + + $(".wck-toggle-expand").on("click", function (e) { + var state = $WK.toggleButton($(this), e); + $(".action-toggle.dashicons-arrow-" + (state ? "down" : "up") + "-alt2").trigger("click"); + }); + + $("body").on("click", ".wck-toggle-colspan", function (e) { + e.preventDefault(); + var item = $(this).parent().parent().parent(); + if ($(this).hasClass("woocommerce-input-toggle--disabled")) { + $(this).removeClass("woocommerce-input-toggle--disabled").addClass("woocommerce-input-toggle--enabled"); + item.addClass("wck-layout-colspan"); + item.find('.f-colspan').val(2); + } else { + $(this).removeClass("woocommerce-input-toggle--enabled").addClass("woocommerce-input-toggle--disabled"); + item.removeClass("wck-layout-colspan"); + item.find('.f-colspan').val(1); + } + }); + + $(".action-save-post").on("click", function (e) { + e.preventDefault(); + $("#publish").trigger("click"); + if ($("#publish").hasClass("disabled")) { + $(this).prop("disabled", true).addClass("disabled"); + } + }); + + $("body").on("click", ".action-duplicate", function (e) { + e.preventDefault(); + var element = $(this).parent().parent().parent(); + var clonedElement = element.clone(); + clonedElement.hide(); + clonedElement.find(".f-title").val(""); + clonedElement.find(".f-name").val(""); + clonedElement.insertAfter(element); + clonedElement.fadeIn(1500, function () { + clonedElement.find(".dashicons-arrow-down-alt2").trigger("click"); + $(this).find(".f-title").fadeOut(150).fadeIn(150).fadeOut(150).fadeIn(150).fadeOut(150).fadeIn(150); + $(this).find(".f-name").fadeOut(150).fadeIn(150).fadeOut(150).fadeIn(150).fadeOut(150).fadeIn(150); + }); + }); + + $WK.shouldHideExprToolbar = false; + $WK.stateExprToolbar = false; + + $("body").on("focusin", "#wck_expression .input-icon input", function (e) { $WK.expressionLastFocusedInput = $(this); - }).on("click", "span.formula-field", function () { + $WK.shouldHideExprToolbar = false; + + var posA = $(this).offset(); + var h = $(this).outerHeight(); + var posB = $("#wck_expression").offset(); + $("#wck-expression-toolbar").css({ + top: posA.top - posB.top - h - $("#wck-expression-toolbar").outerHeight() - 20, + left: posA.left - posB.left + }); + + if (!$WK.stateExprToolbar) { + $WK.stateExprToolbar = true; + $WK.saveFields(); + $("#wck-parameters .first-selected").prop("selected", true); + + $("#wck-expression-toolbar").stop(true, false).fadeIn('fast'); + + } + }).on("focusout", "#wck_expression input", function (e) { + $WK.shouldHideExprToolbar = !(e.relatedTarget && $("#wck-expression-toolbar").has(e.relatedTarget).length); + setTimeout(function () { + if ($WK.stateExprToolbar && $WK.shouldHideExprToolbar) { + $("#wck-expression-toolbar").stop(true, false).fadeOut('fast'); + $WK.stateExprToolbar = false; + } + }, 200); + }).on("click", "#wck-expression-toolbar", function (e) { + if (e.target !== e.currentTarget && e.target.tagName !== "OPTION") return; + $WK.expressionLastFocusedInput.focus(); + }).on("click", "button.add-field-to-formula, button.add-operator", function (e) { + e.preventDefault(); var $focused = $WK.expressionLastFocusedInput; + if (!$focused) { + $focused = $(".input-icon").find("input:visible").first(); + $focused.focus(); + } if ($focused && $focused.length) { + var value = $(this).hasClass("add-operator") ? $(this).val() : $("#wck-parameters").val(); + if (value === null) { + + return; + } var cursorPos = $focused[0].selectionStart; var x = $focused.val(); - $focused.val(x.slice(0, cursorPos) + $(this).text() + x.slice(cursorPos)); + $focused.val(x.slice(0, cursorPos) + value + x.slice(cursorPos)); $focused.focus(); - cursorPos += $(this).text().length; + cursorPos += value.length; $focused[0].setSelectionRange(cursorPos, cursorPos); } }).on("click", ".field .pairs .action-add", function () { var $clone = $(this).prev(".pair").clone().insertBefore($(this)); - $clone.children("input").val(""); + $clone.find("input").val(""); }).on("click", ".field .pairs .action-showimport", function () { $(this).parent().find("div.importer").toggle(); }).on("click", ".field .pairs .action-import", function () { @@ -74,14 +196,20 @@ }).on("click", ".field .header .action-delete", function () { if (confirm("Are you sure?")) { var $target = $(this).closest("li"); - $target.hide('slow', function () { + $target.fadeOut('slow', function () { $target.remove(); }); } }).on("click", ".field .header .action-toggle", function () { - $(this).closest(".field").find(".body").slideToggle(300); + var fieldBody = $(this).closest(".field").find(".body"); + fieldBody.slideToggle(300); $(this).toggleClass("dashicons-arrow-up-alt2"); $(this).toggleClass("dashicons-arrow-down-alt2"); + if ($(this).hasClass("dashicons-arrow-down-alt2")) { + $(this).parent().find(".name").text((fieldBody.find(".f-title").length ? "- " + fieldBody.find(".f-title").val() : "") + " {" + fieldBody.find(".f-name").val() + "}"); + } else { + $(this).parent().find(".name").text(""); + } }).on("click", "#add-field-button", function (e) { e.preventDefault(); @@ -185,10 +313,46 @@ var field_id = '#' + $(this).closest('li').attr('id'); var ext = []; $(field_id + " input.allowed-extensions:checked").each(function () { - console.log($(this).data('extension')); + //console.log($(this).data('extension')); ext.push($(this).data('extension')); }); $(field_id + " input.fu-allowed-extensions").val(ext.join('|')); + }).on('change', 'input.f-name', function () { + var target = $(this); + var newName = $(this).val().trim(); + if (newName !== "") { + $("#wck_fields_editor input.f-name").each(function () { + if ($(this).val() === newName && !$(this).is(target)) { + alert("The name {" + newName + "} is already in use! Choose another name."); + target.val(""); + return false; + } + }); + } + + if ($(this)[0].checkValidity() && typeof $(this).data('lastValid') !== "undefined") { + var oldName = $(this).data('lastValid'); + if (oldName !== newName) { + var oldNameInUse = false; + $("#wck_expression input[type=text], #wck_fields_editor input.f-visibility, #wck_fields_editor input.f-visibility-readable, #wck_fields_editor input.visibility-readable").each(function () { + if ($(this).val().includes(oldName)) { + oldNameInUse = true; + return false; //break + } + }); + if (oldNameInUse && confirm("Wait! Seems like {" + oldName + "} is used in formulas! Do you want to replace {" + oldName + "} in all formulas? {" + oldName + "} will be changed to {" + newName + "}")) { + $("#wck_expression input[type=text], #wck_fields_editor input.f-visibility, #wck_fields_editor input.f-visibility-readable, #wck_fields_editor input.visibility-readable").each(function () { + $(this).val($(this).val().replaceAll("{" + oldName + "}", "{" + newName + "}").replaceAll("{" + oldName + ":", "{" + newName + ":").replaceAll('"field":"' + oldName + '"', '"field":"' + newName + '"')); + }); + $(this).data('lastValid', newName); + } + } + } + + }).on('focusin', 'input.f-name', function () { + if ($(this)[0].checkValidity()) { + $(this).data('lastValid', $(this).val()); + } }); $(".iris-square-value").on("click", function (e) { @@ -234,7 +398,17 @@ $WK.changeAssignType(); $("form#post").attr("novalidate", ""); $WK.buildTooltips(""); - $WK.appendGlobalParameters(); + $WK.updateLayout(); + $("#wck-parameters .first-selected").prop("selected", true); + //$WK.appendGlobalParameters(); + }; + + $WK.updateLayout = function () { + if ($WK.fieldsLayout === 'two-col') { + $WK.fieldList.addClass("layout-two-col"); + } else { + $WK.fieldList.removeClass("layout-two-col"); + } }; $WK.buildTooltips = function (selector) { @@ -246,7 +420,7 @@ $WK.changeAssignType = function () { var disabled = $("#assign_type").val() === "1"; - $("#assign_products, #assign_categories, #assign_tags").prop("disabled", disabled); + $("#assign_products, #assign_categories, #assign_tags, #assign_attributes").prop("disabled", disabled); }; $("#assign_type").on("change", $WK.changeAssignType); @@ -267,6 +441,12 @@ "id": id }).append($WK.html[type].replace("{id}", id))); $WK.buildTooltips("#" + id + " "); + if ($("#" + id).find(".pairs").length > 0) { + $("#" + id + " .pairs").sortable({ + placeholder: "wck-sortable-placeholder", + tolerance: "pointer" + }); + } return id; }; @@ -282,7 +462,9 @@ var error = $("li .field", $WK.fieldList).length === 0; $("label.error").remove(); $WK.saved = false; - $("#formula_fields").html(" ‐ "); + //$("#formula_fields").html(" ‐ "); + $("#wck-parameters .defined-fields").html(""); + $WK.appendGlobalParameters(); if (error) { alert("Please add at least one field before saving."); @@ -305,7 +487,11 @@ "hint": input_fhint.val(), "default_value": input_default_value.val(), "css_class": input_css_class.val(), - "required": (($row.find('input.f-required').length > 0) ? $row.find('input.f-required').is(':checked') : true) + "required": (($row.find('select.f-required').length > 0) ? $row.find('select.f-required').val() === "on" : true), + "layout": $WK.fieldsLayout, + "colspan": $row.find('input.f-colspan').val(), + "visibility": $row.find('input.f-visibility').val(), + "visibility_readable": $row.find('input.f-visibility-readable').val() }; var input_fprice = $row.find('input.f-price'); @@ -393,8 +579,8 @@ break; case 'checkbox': - var input_fcb_default_state = $row.find('input.fcb-default-state'); - field.default_state = input_fcb_default_state.is(':checked'); + var input_fcb_default_state = $row.find('select.fcb-default-state'); + field.default_state = input_fcb_default_state.val() === "on"; break; case 'text': case 'textarea': @@ -453,7 +639,7 @@ var wkform = $("form#post"); if (!wkform[0].checkValidity()) { error = true; - $("input:invalid").parent().show(); + $("input:invalid").closest('.field').find('.action-toggle.dashicons-arrow-down-alt2').trigger('click'); $("input:invalid").each(function () { $('").insertBefore($(this)); }); @@ -470,10 +656,23 @@ $WK.appendGlobalParameters = function () { if (typeof wck_global_parameters !== undefined) { + $("#wck-parameters .global-parameters").html(""); $.each(wck_global_parameters, function (name, value) { var name = "global:" + name; + var appendChildren = ""; suggest.push(name); - $("#formula_fields").append('{' + name + '} '); + //$("#formula_fields").append('{' + name + '} '); + if (typeof value === 'object') { + $.each(value, function (k, v) { + var suffix = "['" + k + "']"; + appendChildren = appendChildren + ''; + }); + value = ""; + } else { + value = " = " + value; + } + $("#wck-parameters .global-parameters").append(''); + $("#wck-parameters .global-parameters").append(appendChildren); }); } } @@ -483,32 +682,42 @@ if (field.use_expression) { if (field.type !== 'checkboxgroup') { suggest.push(field.name); - $("#formula_fields").append('{' + field.name + '} '); + //$("#formula_fields").append('{' + field.name + '} '); + $("#wck-parameters .defined-fields").append(''); } else { suggest.push(field.name + ":sum"); - $("#formula_fields").append('{' + field.name + ':sum} '); + //$("#formula_fields").append('{' + field.name + ':sum} '); + $("#wck-parameters .defined-fields").append(''); suggest.push(field.name + ":min"); - $("#formula_fields").append('{' + field.name + ':min} '); + //$("#formula_fields").append('{' + field.name + ':min} '); + $("#wck-parameters .defined-fields").append(''); suggest.push(field.name + ":max"); - $("#formula_fields").append('{' + field.name + ':max} '); + //$("#formula_fields").append('{' + field.name + ':max} '); + $("#wck-parameters .defined-fields").append(''); } if (field.type === "text" || field.type === "textarea") { suggest.push(field.name + ":text"); - $("#formula_fields").append('{' + field.name + ':text} '); + //$("#formula_fields").append('{' + field.name + ':text} '); + $("#wck-parameters .defined-fields").append(''); } if (field.type === "rangedatepicker") { suggest.push(field.name + ":date_from"); - $("#formula_fields").append('{' + field.name + ':date_from} '); + //$("#formula_fields").append('{' + field.name + ':date_from} '); + $("#wck-parameters .defined-fields").append(''); suggest.push(field.name + ":date_to"); - $("#formula_fields").append('{' + field.name + ':date_to} '); + // $("#formula_fields").append('{' + field.name + ':date_to} '); + $("#wck-parameters .defined-fields").append(''); suggest.push(field.name + ":days"); - $("#formula_fields").append('{' + field.name + ':days} '); + // $("#formula_fields").append('{' + field.name + ':days} '); + $("#wck-parameters .defined-fields").append(''); } else if (field.type === "datepicker") { suggest.push(field.name + ":date"); - $("#formula_fields").append('{' + field.name + ':date} '); + // $("#formula_fields").append('{' + field.name + ':date} '); + $("#wck-parameters .defined-fields").append(''); } else if (field.type === "imageupload") { suggest.push(field.name + ":size"); - $("#formula_fields").append('{' + field.name + ':size} '); + //$("#formula_fields").append('{' + field.name + ':size} '); + $("#wck-parameters .defined-fields").append(''); } } }; @@ -521,15 +730,38 @@ $WK.loadJSONdata = function () { if (typeof wck_load_fieldset === "object") { + var layoutLoaded = false; $.each(wck_load_fieldset, function () { + + if (!layoutLoaded) { + if (this.hasOwnProperty("layout") && this.layout === 'two-col') { + $(".wck-toggle-layout").trigger("click"); + } + layoutLoaded = true; + } + var field_id = $WK.addField(this.type); var $field = $("#" + field_id + " .field"); $("#" + field_id + " .f-name").val(this.name); + if (this.hasOwnProperty("colspan")) { + $("#" + field_id + " .f-colspan").val(this.colspan); + if (this.colspan === '2') { + $("#" + field_id + " .wck-toggle-colspan").trigger("click"); + } + } $("#" + field_id + " .f-title").val(this.title); $("#" + field_id + " .f-hint").val(this.hint); $("#" + field_id + " .f-css-class").val(this.css_class); if ($("#" + field_id + " .f-required").length > 0) { - $("#" + field_id + " .f-required").prop("checked", this.required); + $("#" + field_id + " .f-required").val(this.required === "1" ? "on" : "off"); + } + + if (this.hasOwnProperty("visibility")) { + $("#" + field_id + " .f-visibility").val(this.visibility); + $("#" + field_id + " .f-visibility-readable").val(this.visibility_readable); + if (this.visibility_readable !== "") { + $("#" + field_id + " .visibility-readable").val("Rule preview: " + this.visibility_readable); + } } var fprice = $("#" + field_id + " .f-price"); @@ -634,7 +866,8 @@ $("#" + field_id + " .fn-max-value").val(this.max); $("#" + field_id + " .f-default-value").val(this.default_value); } else if (this.type === "checkbox") { - $("#" + field_id + " .fcb-default-state").prop("checked", this.default_state); + $("#" + field_id + " .fcb-default-state").val(this.default_state === "1" ? "on" : "off"); + } else if (this.type === "text" || this.type === "textarea" || this.type === "email") { $("#" + field_id + " .ft-min-length").val(this.min); $("#" + field_id + " .ft-max-length").val(this.max); @@ -660,7 +893,7 @@ $("#" + field_id + " .fst-target").val(this.target); } else if (this.type === 'attachment') { $WK.preloadMedia(this.content, function (attachment) { - console.log(field_id, attachment.get('url')); + //console.log(field_id, attachment.get('url')); $("#" + field_id + " .wp-media-attachment-preview").attr("href", attachment.get('url')).text(attachment.get('url')); }); } @@ -685,20 +918,25 @@ $("input.expression_type").on("change", function () { $WK.expression.mode = $(this).val(); + $WK.expressionLastFocusedInput = null; $WK.showExpressionEditor(); }); $WK.addCondition = function (if_value, then_value, addon = false) { var $html = $('
' + - '' + - '' + - '
' + + '
' + + '' + + '
' + '
' + - '' + + '' + '
' + '
' + - '' + - '
'); + '' + + '' + + '
' + + '' + + '
' + + '
'); $(".input-if input", $html).val(if_value); $(".input-equation input", $html).val(then_value); if (addon === true) { @@ -789,7 +1027,6 @@ $WK.expr_saved = true; } } - if (mode === "off") { $("input[name=_wck_expression]").val("off"); } else { @@ -799,7 +1036,8 @@ $WK.loadExpression = function () { if (typeof wck_load_expression === "object") { - $WK.expression = wck_load_expression; + $WK.expression.mode = wck_load_expression.mode; + $WK.expression.expr = wck_load_expression.expr; if ($WK.expression.mode === "oneline") { $(".expression_oneline input").val($WK.expression.expr); $("input[name=_wck_choose_expression_type].expression_oneline").prop("checked", true); @@ -835,7 +1073,207 @@ $WK.saveExpression(); }); - // -------------------------------------- + $WK.toolbarOnTop = false; + + $(window).scroll(function () { + if ($(this).scrollTop() > 100) { + if (!$WK.toolbarOnTop) { + $("#wck-toolbar").fadeOut(function () { + $WK.toolbarOnTop = true; + $("#wck-toolbar").css({"top": "0px", "bottom": "auto"}).fadeIn(); + }); + } + } else if (!$("#postbox-container-2").hasClass("fullscreen")) { + if ($WK.toolbarOnTop) { + $("#wck-toolbar").fadeOut(function () { + $WK.toolbarOnTop = false; + $("#wck-toolbar").css({"top": "auto", "bottom": "0px"}).fadeIn(); + }); + } + } + }); + + // --------------- CONDITIONAL VISIBILITY BUILDER ------------- + + $CV.window = $("#wck-cv-builder"); + $CV.builder = $CV.window.find(".builder"); + $CV.template = $CV.window.find(".template").children(); + $CV.context = null; + + // --- Methods --- + + $CV.open = function (context) { + $CV.context = context; + var fieldSelect = $CV.template.find("select.p-field"); + fieldSelect.empty(); + $WK.saveFields(); + fieldSelect.append(''); + $.each($WK.fieldList.find(".field"), function () { + if ($(this).data("group") !== "static" && !$(this).is(context)) { + var name = $(this).find(".f-name").val(); + fieldSelect.append(''); + } + }); + + $CV.builder.append($CV.template.clone()); + $CV.builder.find('.or-condition').remove(); + + var loadData = $CV.context.find(".f-visibility").val(); + try { + loadData = JSON.parse(loadData); + } catch (e) { + loadData = false; + } + + if (typeof loadData === "object") { + $.each(loadData, function (i, or_condition) { + var first = true; + $.each(or_condition, function (j, and_condition) { + $CV.add(first ? "or" : "and", null, and_condition); + first = false; + }); + }); + } else { + $CV.add("or", null, null); + } + + $CV.window.find("span.self-name").text(context.find(".f-name").val()); + $CV.window.show().css({"display": "flex"}); + }; + + $CV.close = function () { + $CV.window.hide(); + $CV.builder.empty(); + }; + + $CV.add = function (type, destination, values) { + if (destination === null) { + destination = $CV.builder.find("." + type + "-group").last(); + } + destination.append($CV.window.find(".template ." + type + "-condition").clone()); + var newCondition = destination.find(".and-condition").last(); + + if (values !== null && typeof values === "object") { + newCondition.find(".p-field").val(values.field); + newCondition.find(".p-comparison").val(values.comp).trigger("change"); + newCondition.find(".p-value").val(values.value); + } else { + newCondition.find(".p-value").val(""); + } + }; + + $CV.validate = function () { + var isValid = true; + var conditions = $CV.builder.find(".and-condition"); + + conditions.find(".validation-error").removeClass("validation-error"); + conditions.each(function () { + var field = $(this).find(".p-field"); + var comp = $(this).find(".p-comparison").val(); + var value = $(this).find(".p-value"); + + if ([null, ""].includes(field.val())) { + field.addClass("validation-error"); + isValid = false; + } + + if (!value.prop("disabled") && value.val() === "") { + value.addClass("validation-error"); + isValid = false; + } + + if (["5", "6", "7", "8"].includes(comp) && !value.val().match(/^-?\d*[\.,]?\d+$/)) { + value.addClass("validation-error"); + isValid = false; + } + + if (comp === "9" && value.val() === "") { + value.addClass("validation-error"); + isValid = false; + } + + }); + return isValid; + }; + + // --- Events --- + + $CV.window.on("click", ".cv-action-and", function (e) { + e.preventDefault(); + $CV.add("and", $(this).prev(), null); + }); + + $CV.window.on("click", ".cv-action-or", function (e) { + e.preventDefault(); + $CV.add("or", $(this).prev(), null); + }); + + $CV.window.on("click", ".cv-remove", function (e) { + e.preventDefault(); + var count = $(this).closest(".and-group").children().length; + if (count === 1) { + $(this).closest(".or-condition").remove(); + } else { + $(this).parent().remove(); + } + }); + + $CV.window.on("change", "select.p-comparison", function (e) { + var disabled = ["1", "2"].includes($(this).val()); + var pVal = $(this).next(".p-value"); + pVal.prop("disabled", disabled); + if (disabled) { + pVal.val(""); + } + }); + + $CV.window.on("click", ".cv-close", function (e) { + e.preventDefault(); + $CV.close(); + }); + + $CV.window.on("click", ".cv-save", function (e) { + e.preventDefault(); + if (!$CV.validate()) { + alert("Please correct the form!"); + return false; + } + var or_conditions = []; + var or_readable = []; + $.each($CV.builder.find(".or-condition"), function () { + var and_conditions = []; + var and_readable = []; + $.each($(this).find(".and-condition"), function () { + var item = { + field: $(this).find(".p-field").val(), + comp: $(this).find(".p-comparison").val(), + comp_text: $(this).find(".p-comparison option:selected").text(), + value: $(this).find(".p-value").val() + }; + and_conditions.push(item); + and_readable.push("{" + item.field + "} " + item.comp_text + " " + item.value); + }); + or_conditions.push(and_conditions); + or_readable.push(" ( " + and_readable.join(" and ") + " ) "); + }); + var readable = or_readable.join(" or ").replaceAll(" ", " "); + + $CV.context.find(".f-visibility").val(or_conditions.length === 0 ? "" : JSON.stringify(or_conditions)); + $CV.context.find(".f-visibility-readable").val(readable); + if (readable !== "") { + $CV.context.find(".visibility-readable").val("Rule preview: " + readable); + } else { + $CV.context.find(".visibility-readable").val(""); + } + $CV.close(); + }); + + $("body").on("click", ".action-field-visibility", function () { + var context = $(this).closest(".field"); + $CV.open(context); + }); + + // ------------------------------------------------------------ $WK.init(); $WK.loadExpression(); diff --git a/assets/js/admin.min.js b/assets/js/admin.min.js index 8c0c6d7..afad6b6 100644 --- a/assets/js/admin.min.js +++ b/assets/js/admin.min.js @@ -1 +1 @@ -(function($){"use strict";var $WK={};$(document).ready(function($){var suggest=[];var input_key_pressed={};$("#f-field-list").sortable({handle:".action-drag"});$("#extra-inputs, #addon-inputs").sortable({handle:".action-drag"});$("a.savefields").on("click",function(e){e.preventDefault();$WK.saveFields()});$('').insertBefore("#wpwrap");$WK.colorpicker=$("input.wck-global-color-picker");$WK.colorpicker.iris();$WK.expressionLastFocusedInput=null;$WK.wpMediaFrame=null;$WK.wpMediaTarget=null;$WK.iconPreloader="data:image/gif;base64,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";$("body").on("focus","#wck_expression input",function(){$WK.expressionLastFocusedInput=$(this)}).on("click","span.formula-field",function(){var $focused=$WK.expressionLastFocusedInput;if($focused&&$focused.length){var cursorPos=$focused[0].selectionStart;var x=$focused.val();$focused.val(x.slice(0,cursorPos)+$(this).text()+x.slice(cursorPos));$focused.focus();cursorPos+=$(this).text().length;$focused[0].setSelectionRange(cursorPos,cursorPos)}}).on("click",".field .pairs .action-add",function(){var $clone=$(this).prev(".pair").clone().insertBefore($(this));$clone.children("input").val("")}).on("click",".field .pairs .action-showimport",function(){$(this).parent().find("div.importer").toggle()}).on("click",".field .pairs .action-import",function(){var $this=$(this);var input=$this.parent().find("textarea").val().trim().split("\n");if(Array.isArray(input)){input.forEach(function(el){var columns=el.trim().split(";");var $last_pair=$this.parent().parent().find(".pair").last();var $clone=$last_pair.clone().insertAfter($last_pair);if(columns.length===2){$clone.find("input.fs-name").val(columns[0]);$clone.find("input.fs-title").val(columns[1])}else if(columns.length===1){$clone.find("input.fs-title").val(columns[0])}})}}).on("click",".field .pairs .action-removeall",function(){if(confirm("Are you sure?")){$(this).parent().find(".pair").slice(1).remove()}}).on("click",".field .pair .action-delete",function(){var $pairs=$(this).closest(".pairs");if($pairs.children(".pair").length>1){if(confirm("Are you sure?")){$(this).closest(".pair").remove()}}else{alert("You cannot remove the last item!")}}).on("click",".field .header .action-delete",function(){if(confirm("Are you sure?")){var $target=$(this).closest("li");$target.hide("slow",function(){$target.remove()})}}).on("click",".field .header .action-toggle",function(){$(this).closest(".field").find(".body").slideToggle(300);$(this).toggleClass("dashicons-arrow-up-alt2");$(this).toggleClass("dashicons-arrow-down-alt2")}).on("click","#add-field-button",function(e){e.preventDefault();var fieldType=$("#select-field").val();var id=$WK.addField(fieldType);$("html, body").animate({scrollTop:$("#"+id).offset().top-50},1e3)}).on("click",".expression_conditional .input-group .action-delete",function(){var $target=$(this).closest(".input-group");if($("#extra-inputs .input-group").length>1){if(confirm("Are you sure?")){$target.hide("slow",function(){$target.remove()})}}else{alert("You cannot remove the last condition!")}}).on("click",".expression_addon .input-group .action-delete",function(){var $target=$(this).closest(".input-group");if($("#addon-inputs .input-group").length>1){if(confirm("Are you sure?")){$target.hide("slow",function(){$target.remove()})}}else{alert("You cannot remove the last addon!")}}).on("click",".action-add-image",function(e){e.preventDefault();$WK.wpMediaTarget=$(this);if($WK.wpMediaFrame){$WK.wpMediaFrame.open();return}$WK.wpMediaFrame=wp.media({multiple:false,button:{text:"Select this image"}});$WK.wpMediaFrame.on("select",function(){var attachment=$WK.wpMediaFrame.state().get("selection").first().toJSON();if($WK.wpMediaTarget.prop("tagName")==="A"){$WK.wpMediaTarget.next("img.wp-media-image-preview").attr("src",attachment.url);$WK.wpMediaTarget.next().next("input.wp-media-image-id").attr("value",attachment.id);$WK.wpMediaTarget.hide()}else{$WK.wpMediaTarget.attr("src",attachment.url);$WK.wpMediaTarget.next("input.wp-media-image-id").attr("value",attachment.id)}});$WK.wpMediaFrame.open()}).on("click",".action-add-attachment",function(e){e.preventDefault();$WK.wpMediaTarget=$(this);if($WK.wpMediaFrame){$WK.wpMediaFrame.open();return}$WK.wpMediaFrame=wp.media({multiple:false,button:{text:"Select this file"}});$WK.wpMediaFrame.on("select",function(){var attachment=$WK.wpMediaFrame.state().get("selection").first().toJSON();$WK.wpMediaTarget.next("input.wp-media-attachment-id").val(attachment.id);$WK.wpMediaTarget.next().next("a.wp-media-attachment-preview").attr("href",attachment.url).text(attachment.url)});$WK.wpMediaFrame.open()}).on("focus",'[data-type="colorswatches"] input.fs-title',function(e){e.preventDefault();var _target=$(this);$WK.colorpicker.iris("show");$(".iris-picker").css({top:_target.offset().top+40,left:_target.offset().left});$WK.colorpicker.iris("option","change",function(event,ui){_target.val(ui.color.toString());var color=ui.color.toRgb();var t=(color.r+color.g+color.b)/2;var textColor=t<200?"#FFFFFF":"#000000";_target.css({"background-color":ui.color.toString(),color:textColor})});$WK.colorpicker.iris("color",$(this).val())}).on("click","input.allowed-extensions",function(){var field_id="#"+$(this).closest("li").attr("id");var ext=[];$(field_id+" input.allowed-extensions:checked").each(function(){console.log($(this).data("extension"));ext.push($(this).data("extension"))});$(field_id+" input.fu-allowed-extensions").val(ext.join("|"))});$(".iris-square-value").on("click",function(e){e.preventDefault()});$(document).click(function(e){if(!$(e.target).closest('.iris-picker, [data-type="colorswatches"] input.fs-title').length){if($(".iris-picker").is(":visible")){$WK.colorpicker.iris("hide")}}});$("form#post").submit(function(e){$WK.saveFields();if(!$WK.saved){e.preventDefault();return false}$WK.saveExpression();if(!$WK.expr_saved&&$WK.expression.mode!=="off"){e.preventDefault();alert("Expression is required. Fill in required fields and try again!");return false}return true});$WK.init=function(){$WK.fieldList=$("#f-field-list");$WK.html=wck_fields_html;$WK.fields={};$WK.saved=false;$WK.expr_saved=false;$WK.counter=0;$WK.expression={mode:$("input.expression_type:checked").val()};$WK.loadJSONdata();$WK.showExpressionEditor();$WK.changeAssignType();$("form#post").attr("novalidate","");$WK.buildTooltips("");$WK.appendGlobalParameters()};$WK.buildTooltips=function(selector){$(selector+"span.wck-field-tip").tipTip({attribute:"title",defaultPosition:"left"})};$WK.changeAssignType=function(){var disabled=$("#assign_type").val()==="1";$("#assign_products, #assign_categories, #assign_tags").prop("disabled",disabled)};$("#assign_type").on("change",$WK.changeAssignType);$WK.preloadMedia=function(id,callback){wp.media.attachment(id).fetch().then(function(){callback(wp.media.attachment(id))});return};$WK.addField=function(type){$WK.counter+=1;var id="wkfield-"+$WK.counter;$("li.welcome",$WK.fieldList).remove();$WK.fieldList.append($("
  • ",{"data-type":type,class:"form-invalid",id:id}).append($WK.html[type].replace("{id}",id)));$WK.buildTooltips("#"+id+" ");return id};$(window).on("beforeunload",function(){if($WK.saved===false){return""}});$WK.saveFields=function(){$WK.fields={};suggest=[];var error=$("li .field",$WK.fieldList).length===0;$("label.error").remove();$WK.saved=false;$("#formula_fields").html(" ‐ ");if(error){alert("Please add at least one field before saving.");return false}$("li .field",$WK.fieldList).each(function(){var $row=$(this);var input_fname=$row.find("input.f-name");var input_ftitle=$row.find("input.f-title");var input_fhint=$row.find("input.f-hint");var input_default_value=$row.find("input.f-default-value");var input_css_class=$row.find("input.f-css-class");var field={type:$row.data("type"),use_expression:$row.data("use-expression")===true,name:input_fname.val(),title:input_ftitle.val(),hint:input_fhint.val(),default_value:input_default_value.val(),css_class:input_css_class.val(),required:$row.find("input.f-required").length>0?$row.find("input.f-required").is(":checked"):true};var input_fprice=$row.find("input.f-price");if(input_fprice.length>0){field.price=input_fprice.val();if(field.price!==""){field.use_expression=true}}var input_fimgwidth=$row.find("input.fimg-width");if(input_fimgwidth.length>0){field.image_size=input_fimgwidth.val()}var $fs_options;switch(field.type){case"select":case"radio":case"imageselect":case"imageswatches":case"colorswatches":case"radiogroup":case"checkboxgroup":field.options_name=[];field.options_title=[];if(field.type==="imageselect"||field.type==="imageswatches"){field.options_image=[]}if(field.type==="checkboxgroup"){field.select_limit=$row.find("input.fcbg-limit").val()}$fs_options=$row.find(".fs-option");$fs_options.each(function(){var fs_title=$(this).find("input.fs-title");var fs_name=$(this).find("input.fs-name");var f_default_value=$(this).find("input.f-default-value").is(":checked");if(typeof f_default_value!=="undefined"&&f_default_value===true){field.default_value=fs_name.val()+":"+fs_title.val()}field.options_name.push(fs_name.val()+":"+fs_title.val());field.options_title.push(fs_title.val());if(field.type==="imageselect"||field.type==="imageswatches"){var fs_image=$(this).find("input.fs-image");field.options_image.push(fs_image.val())}});break;case"dropdown":field.options_title=[];$fs_options=$row.find(".fs-option");$fs_options.each(function(){var fs_title=$(this).find("input.fs-title");var f_default_value=$(this).find("input.f-default-value").is(":checked");if(typeof f_default_value!=="undefined"&&f_default_value===true){field.default_value=fs_title.val()}field.options_title.push(fs_title.val())});break;case"number":var input_fnmin=$row.find("input.fn-min-value");field.min=input_fnmin.val();var input_fnmax=$row.find("input.fn-max-value");field.max=input_fnmax.val();break;case"checkbox":var input_fcb_default_state=$row.find("input.fcb-default-state");field.default_state=input_fcb_default_state.is(":checked");break;case"text":case"textarea":case"email":var input_ftminlen=$row.find("input.ft-min-length");var input_ftmaxlen=$row.find("input.ft-max-length");var input_ftpattern=$row.find("input.ft-pattern");field.min=input_ftminlen.val();field.max=input_ftmaxlen.val();if(input_ftpattern.length>0){field.pattern=input_ftpattern.val()}break;case"colorpicker":case"datepicker":case"rangedatepicker":var input_fdpdisallow_past_date=$row.find("input.fdp-disallow-past-date");field.disallow_past_date=input_fdpdisallow_past_date.is(":checked");break;case"imageupload":field.max_file_size=$row.find("input.fu-max-file-size").val();field.allowed_extensions=$row.find("input.fu-allowed-extensions").val();break;case"html":case"paragraph":case"hidden":case"attachment":field.content=$row.find(".fst-content").val();break;case"link":field.content=$row.find(".fst-content").val();field.target=$row.find(".fst-target").val();break;case"heading":field.content=$row.find(".fst-content").val();field.level=$row.find(".fst-level").val();break}if(field.name!==""&&field.name in $WK.fields){error=true;alert("Field names must be unique! The '"+field.name+"' name is used more than once.")}if(!error){$WK.appendFormulaVars(field)}});var wkform=$("form#post");if(!wkform[0].checkValidity()){error=true;$("input:invalid").parent().show();$("input:invalid").each(function(){$('").insertBefore($(this))})}if(error&&$("label.error").length){$("html, body").animate({scrollTop:$("label.error").first().offset().top-160},1e3)}$WK.saveJSONdata();$WK.saved=!error};$WK.appendGlobalParameters=function(){if(typeof wck_global_parameters!==undefined){$.each(wck_global_parameters,function(name,value){var name="global:"+name;suggest.push(name);$("#formula_fields").append('{'+name+"} ")})}};$WK.appendFormulaVars=function(field){$WK.fields[field.name]=field;if(field.use_expression){if(field.type!=="checkboxgroup"){suggest.push(field.name);$("#formula_fields").append('{'+field.name+"} ")}else{suggest.push(field.name+":sum");$("#formula_fields").append('{'+field.name+":sum} ");suggest.push(field.name+":min");$("#formula_fields").append('{'+field.name+":min} ");suggest.push(field.name+":max");$("#formula_fields").append('{'+field.name+":max} ")}if(field.type==="text"||field.type==="textarea"){suggest.push(field.name+":text");$("#formula_fields").append('{'+field.name+":text} ")}if(field.type==="rangedatepicker"){suggest.push(field.name+":date_from");$("#formula_fields").append('{'+field.name+":date_from} ");suggest.push(field.name+":date_to");$("#formula_fields").append('{'+field.name+":date_to} ");suggest.push(field.name+":days");$("#formula_fields").append('{'+field.name+":days} ")}else if(field.type==="datepicker"){suggest.push(field.name+":date");$("#formula_fields").append('{'+field.name+":date} ")}else if(field.type==="imageupload"){suggest.push(field.name+":size");$("#formula_fields").append('{'+field.name+":size} ")}}};$WK.saveJSONdata=function(){if(Object.keys($WK.fields).length>0){$("input[name=_wck_fieldset]").val(JSON.stringify($WK.fields))}};$WK.loadJSONdata=function(){if(typeof wck_load_fieldset==="object"){$.each(wck_load_fieldset,function(){var field_id=$WK.addField(this.type);var $field=$("#"+field_id+" .field");$("#"+field_id+" .f-name").val(this.name);$("#"+field_id+" .f-title").val(this.title);$("#"+field_id+" .f-hint").val(this.hint);$("#"+field_id+" .f-css-class").val(this.css_class);if($("#"+field_id+" .f-required").length>0){$("#"+field_id+" .f-required").prop("checked",this.required)}var fprice=$("#"+field_id+" .f-price");if(fprice.length>0){fprice.val(this.price)}var fimgwidth=$("#"+field_id+" .fimg-width");if(fimgwidth.length>0){fimgwidth.val(this.image_size)}var options_title,options_name,options_image,default_value,first,$checked;if(this.type==="dropdown"){options_title=this.options_title;default_value=this.default_value;first=true;$checked=null;$.each(options_title,function(i,option_title){if(first){var $first=$field.find(".fs-option");$first.find("input.fs-title").val(option_title);if(default_value===option_title){$checked=$first.find("input.f-default-value")}first=false}else{var $clone=$field.find(".fs-option").last().clone().insertBefore($("#"+field_id+" .fs-options .action-add"));$clone.find("input.fs-title").val(option_title);if(default_value===option_title){$checked=$clone.find("input.f-default-value")}}if($checked){$checked.prop("checked",true)}})}else if(["select","radio","imageselect","radiogroup","checkboxgroup","imageswatches","colorswatches"].indexOf(this.type)>=0){options_name=this.options_name;options_title=this.options_title;default_value=this.default_value;if(this.type==="imageselect"||this.type==="imageswatches"){options_image=this.options_image;wp.media.attachment(options_image).fetch()}if(this.type==="checkboxgroup"){$("#"+field_id+" .fcbg-limit").val(this.select_limit)}first=true;$checked=null;$.each(options_name,function(i,option_name){if(option_name.indexOf(":")>=0){option_name=option_name.slice(0,option_name.indexOf(":"))}if(first){var $first=$field.find(".fs-option");$first.find("input.fs-name").val(option_name);$first.find("input.fs-title").val(options_title[i]);var fs_image=$first.find("input.fs-image");if(fs_image.length>0){fs_image.val(options_image[i]);$first.find("a.action-add-image").hide();$first.find(".wp-media-image-preview").attr("src",$WK.iconPreloader);$WK.preloadMedia(options_image[i],function(attachment){$first.find(".wp-media-image-preview").attr("src",attachment.get("url"))})}if(default_value===option_name){$checked=$first.find("input.f-default-value")}first=false}else{var $clone=$field.find(".fs-option").last().clone().insertBefore($("#"+field_id+" .fs-options .action-add"));$clone.find("input.fs-name").val(option_name);$clone.find("input.fs-title").val(options_title[i]);fs_image=$clone.find("input.fs-image");if(fs_image.length>0){fs_image.val(options_image[i]);$clone.find("a.action-add-image").hide();$clone.find(".wp-media-image-preview").attr("src",$WK.iconPreloader);$WK.preloadMedia(options_image[i],function(attachment){$clone.find(".wp-media-image-preview").attr("src",attachment.get("url"))})}if(default_value===option_name){$checked=$clone.find("input.f-default-value")}}if($checked){$checked.prop("checked",true)}})}else if(this.type==="number"){$("#"+field_id+" .fn-min-value").val(this.min);$("#"+field_id+" .fn-max-value").val(this.max);$("#"+field_id+" .f-default-value").val(this.default_value)}else if(this.type==="checkbox"){$("#"+field_id+" .fcb-default-state").prop("checked",this.default_state)}else if(this.type==="text"||this.type==="textarea"||this.type==="email"){$("#"+field_id+" .ft-min-length").val(this.min);$("#"+field_id+" .ft-max-length").val(this.max);$("#"+field_id+" .f-default-value").val(this.default_value);if(this.type==="text"){$("#"+field_id+" .ft-pattern").val(this.pattern)}}else if(this.type==="colorpicker"||this.type==="datepicker"||this.type==="rangedatepicker"){$("#"+field_id+" .fdp-disallow-past-date").prop("checked",this.disallow_past_date)}else if(this.type==="imageupload"){$("#"+field_id+" .fu-max-file-size").val(this.max_file_size);$("#"+field_id+" .fu-allowed-extensions").val(this.allowed_extensions);var ext=this.allowed_extensions.split("|");ext.forEach(function(e){$("#"+field_id+" .allowed-extensions.ext-"+e).prop("checked",true)})}else if(["html","paragraph","heading","hidden","link","attachment"].indexOf(this.type)>=0){$("#"+field_id+" .fst-content").val(this.content);if(this.type==="heading"){$("#"+field_id+" .fst-level").val(this.level)}else if(this.type==="link"){$("#"+field_id+" .fst-target").val(this.target)}else if(this.type==="attachment"){$WK.preloadMedia(this.content,function(attachment){console.log(field_id,attachment.get("url"));$("#"+field_id+" .wp-media-attachment-preview").attr("href",attachment.get("url")).text(attachment.get("url"))})}}});$WK.saveFields()}};$WK.showExpressionEditor=function(){$("div.expression_oneline, div.expression_conditional, div.expression_off, div.expression_addon").hide();$("div.expression_"+$WK.expression.mode).show();if($WK.expression.mode==="off"){$(".off-hide").hide()}else{$(".off-hide").show()}};$("input.expression_type").on("change",function(){$WK.expression.mode=$(this).val();$WK.showExpressionEditor()});$WK.addCondition=function(if_value,then_value,addon=false){var $html=$('
    '+''+''+'
    '+'
    '+''+"
    "+'
    '+''+"
    ");$(".input-if input",$html).val(if_value);$(".input-equation input",$html).val(then_value);if(addon===true){$("div#addon-inputs").append($html)}else{$("div#extra-inputs").append($html)}$WK.autocomplete()};$("button.add-condition").on("click",function(){$WK.addCondition()});$("button.add-addon").on("click",function(){$WK.addCondition("","",true)});$WK.autocomplete=function(){$(".input-icon input").bind("keydown",function(e){if(e.keyCode===16||e.keyCode===219){input_key_pressed[e.keyCode]=true}}).autocomplete({minLength:0,source:function(request,response){if(input_key_pressed[16]===true&&input_key_pressed[219]===true){response(suggest)}},focus:function(){return false},select:function(event,ui){delete input_key_pressed[16];delete input_key_pressed[219];this.value+=ui.item.value+"}";return false}})};$WK.saveExpression=function(){var mode=$WK.expression.mode;$WK.expr_saved=false;if(mode==="oneline"){$WK.expression.expr=$(".expression_oneline input").val();if($WK.expression.expr!==""){$WK.expr_saved=true}}if(mode==="conditional"){var data=[];$(".expression_conditional .input-group").each(function(){var input_if=$(this).find(".input-if input").val();var input_eq=$(this).find(".input-equation input").val();data.push({type:"condition",if:input_if,then:input_eq})});var input_else=$(".expression_conditional .input-else input").val();data.push({type:"else",if:"true",then:input_else});$WK.expression.expr=data;if($WK.expression.expr.length>0){$WK.expr_saved=true}}if(mode==="addon"){var data=[];$(".expression_addon .input-group").each(function(){var input_if=$(this).find(".input-if input").val();var input_eq=$(this).find(".input-equation input").val();data.push({type:"condition",if:input_if,then:input_eq})});$WK.expression.expr=data;if($WK.expression.expr.length>0){$WK.expr_saved=true}}if(mode==="off"){$("input[name=_wck_expression]").val("off")}else{$("input[name=_wck_expression]").val(JSON.stringify($WK.expression))}};$WK.loadExpression=function(){if(typeof wck_load_expression==="object"){$WK.expression=wck_load_expression;if($WK.expression.mode==="oneline"){$(".expression_oneline input").val($WK.expression.expr);$("input[name=_wck_choose_expression_type].expression_oneline").prop("checked",true);$WK.showExpressionEditor();$WK.addCondition()}else if($WK.expression.mode==="conditional"){$.each($WK.expression.expr,function(){if(this.type==="condition"){$WK.addCondition(this.if,this.then)}else if(this.type==="else"){$(".input-else input").val(this.then)}});$("input[name=_wck_choose_expression_type].expression_conditional").prop("checked",true);$WK.showExpressionEditor()}else if($WK.expression.mode==="addon"){$.each($WK.expression.expr,function(){$WK.addCondition(this.if,this.then,true)});$("input[name=_wck_choose_expression_type].expression_addon").prop("checked",true);$WK.showExpressionEditor()}}else{$WK.expression.mode="off";$("input[name=_wck_choose_expression_type].expression_off").prop("checked",true);$WK.showExpressionEditor();$WK.addCondition()}};$("button.test-expression").on("click",function(){$WK.saveExpression()});$WK.init();$WK.loadExpression();$WK.autocomplete()})})(jQuery); \ No newline at end of file +(function($){"use strict";var $WK={};var $CV={};$(document).ready(function($){var suggest=[];var input_key_pressed={};$("#f-field-list").sortable({handle:".header",placeholder:"wck-sortable-placeholder",tolerance:"pointer"});$("#extra-inputs, #addon-inputs").sortable({handle:".action-drag",placeholder:"wck-sortable-placeholder",tolerance:"pointer"});$('').insertBefore("#wpwrap");$WK.colorpicker=$("input.wck-global-color-picker");$WK.colorpicker.iris();$WK.expressionLastFocusedInput=null;$WK.wpMediaFrame=null;$WK.wpMediaTarget=null;$WK.iconPreloader="data:image/gif;base64,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";$WK.fieldsLayout="one-col";$WK.toggleButton=function(btn,e){e.preventDefault();if(btn.hasClass("woocommerce-input-toggle--disabled")){btn.removeClass("woocommerce-input-toggle--disabled").addClass("woocommerce-input-toggle--enabled");return true}else{btn.removeClass("woocommerce-input-toggle--enabled").addClass("woocommerce-input-toggle--disabled");return false}return false};$WK.fullscreenMode=function(state){if(state){$("body").css("overflow","hidden");$("#postbox-container-2").addClass("fullscreen")}else{$("body").css("overflow","auto");$("#postbox-container-2").removeClass("fullscreen")}};$(".wck-toggle-layout").on("click",function(e){var state=$WK.toggleButton($(this),e);$WK.fieldsLayout=state?"two-col":"one-col";$WK.updateLayout()});$(".wck-toggle-fullscreen").on("click",function(e){var state=$WK.toggleButton($(this),e);$WK.fullscreenMode(state)});$(".wck-toggle-expand").on("click",function(e){var state=$WK.toggleButton($(this),e);$(".action-toggle.dashicons-arrow-"+(state?"down":"up")+"-alt2").trigger("click")});$("body").on("click",".wck-toggle-colspan",function(e){e.preventDefault();var item=$(this).parent().parent().parent();if($(this).hasClass("woocommerce-input-toggle--disabled")){$(this).removeClass("woocommerce-input-toggle--disabled").addClass("woocommerce-input-toggle--enabled");item.addClass("wck-layout-colspan");item.find(".f-colspan").val(2)}else{$(this).removeClass("woocommerce-input-toggle--enabled").addClass("woocommerce-input-toggle--disabled");item.removeClass("wck-layout-colspan");item.find(".f-colspan").val(1)}});$(".action-save-post").on("click",function(e){e.preventDefault();$("#publish").trigger("click");if($("#publish").hasClass("disabled")){$(this).prop("disabled",true).addClass("disabled")}});$("body").on("click",".action-duplicate",function(e){e.preventDefault();var element=$(this).parent().parent().parent();var clonedElement=element.clone();clonedElement.hide();clonedElement.find(".f-title").val("");clonedElement.find(".f-name").val("");clonedElement.insertAfter(element);clonedElement.fadeIn(1500,function(){clonedElement.find(".dashicons-arrow-down-alt2").trigger("click");$(this).find(".f-title").fadeOut(150).fadeIn(150).fadeOut(150).fadeIn(150).fadeOut(150).fadeIn(150);$(this).find(".f-name").fadeOut(150).fadeIn(150).fadeOut(150).fadeIn(150).fadeOut(150).fadeIn(150)})});$WK.shouldHideExprToolbar=false;$WK.stateExprToolbar=false;$("body").on("focusin","#wck_expression .input-icon input",function(e){$WK.expressionLastFocusedInput=$(this);$WK.shouldHideExprToolbar=false;var posA=$(this).offset();var h=$(this).outerHeight();var posB=$("#wck_expression").offset();$("#wck-expression-toolbar").css({top:posA.top-posB.top-h-$("#wck-expression-toolbar").outerHeight()-20,left:posA.left-posB.left});if(!$WK.stateExprToolbar){$WK.stateExprToolbar=true;$WK.saveFields();$("#wck-parameters .first-selected").prop("selected",true);$("#wck-expression-toolbar").stop(true,false).fadeIn("fast")}}).on("focusout","#wck_expression input",function(e){$WK.shouldHideExprToolbar=!(e.relatedTarget&&$("#wck-expression-toolbar").has(e.relatedTarget).length);setTimeout(function(){if($WK.stateExprToolbar&&$WK.shouldHideExprToolbar){$("#wck-expression-toolbar").stop(true,false).fadeOut("fast");$WK.stateExprToolbar=false}},200)}).on("click","#wck-expression-toolbar",function(e){if(e.target!==e.currentTarget&&e.target.tagName!=="OPTION")return;$WK.expressionLastFocusedInput.focus()}).on("click","button.add-field-to-formula, button.add-operator",function(e){e.preventDefault();var $focused=$WK.expressionLastFocusedInput;if(!$focused){$focused=$(".input-icon").find("input:visible").first();$focused.focus()}if($focused&&$focused.length){var value=$(this).hasClass("add-operator")?$(this).val():$("#wck-parameters").val();if(value===null){return}var cursorPos=$focused[0].selectionStart;var x=$focused.val();$focused.val(x.slice(0,cursorPos)+value+x.slice(cursorPos));$focused.focus();cursorPos+=value.length;$focused[0].setSelectionRange(cursorPos,cursorPos)}}).on("click",".field .pairs .action-add",function(){var $clone=$(this).prev(".pair").clone().insertBefore($(this));$clone.find("input").val("")}).on("click",".field .pairs .action-showimport",function(){$(this).parent().find("div.importer").toggle()}).on("click",".field .pairs .action-import",function(){var $this=$(this);var input=$this.parent().find("textarea").val().trim().split("\n");if(Array.isArray(input)){input.forEach(function(el){var columns=el.trim().split(";");var $last_pair=$this.parent().parent().find(".pair").last();var $clone=$last_pair.clone().insertAfter($last_pair);if(columns.length===2){$clone.find("input.fs-name").val(columns[0]);$clone.find("input.fs-title").val(columns[1])}else if(columns.length===1){$clone.find("input.fs-title").val(columns[0])}})}}).on("click",".field .pairs .action-removeall",function(){if(confirm("Are you sure?")){$(this).parent().find(".pair").slice(1).remove()}}).on("click",".field .pair .action-delete",function(){var $pairs=$(this).closest(".pairs");if($pairs.children(".pair").length>1){if(confirm("Are you sure?")){$(this).closest(".pair").remove()}}else{alert("You cannot remove the last item!")}}).on("click",".field .header .action-delete",function(){if(confirm("Are you sure?")){var $target=$(this).closest("li");$target.fadeOut("slow",function(){$target.remove()})}}).on("click",".field .header .action-toggle",function(){var fieldBody=$(this).closest(".field").find(".body");fieldBody.slideToggle(300);$(this).toggleClass("dashicons-arrow-up-alt2");$(this).toggleClass("dashicons-arrow-down-alt2");if($(this).hasClass("dashicons-arrow-down-alt2")){$(this).parent().find(".name").text((fieldBody.find(".f-title").length?"- "+fieldBody.find(".f-title").val():"")+" {"+fieldBody.find(".f-name").val()+"}")}else{$(this).parent().find(".name").text("")}}).on("click","#add-field-button",function(e){e.preventDefault();var fieldType=$("#select-field").val();var id=$WK.addField(fieldType);$("html, body").animate({scrollTop:$("#"+id).offset().top-50},1e3)}).on("click",".expression_conditional .input-group .action-delete",function(){var $target=$(this).closest(".input-group");if($("#extra-inputs .input-group").length>1){if(confirm("Are you sure?")){$target.hide("slow",function(){$target.remove()})}}else{alert("You cannot remove the last condition!")}}).on("click",".expression_addon .input-group .action-delete",function(){var $target=$(this).closest(".input-group");if($("#addon-inputs .input-group").length>1){if(confirm("Are you sure?")){$target.hide("slow",function(){$target.remove()})}}else{alert("You cannot remove the last addon!")}}).on("click",".action-add-image",function(e){e.preventDefault();$WK.wpMediaTarget=$(this);if($WK.wpMediaFrame){$WK.wpMediaFrame.open();return}$WK.wpMediaFrame=wp.media({multiple:false,button:{text:"Select this image"}});$WK.wpMediaFrame.on("select",function(){var attachment=$WK.wpMediaFrame.state().get("selection").first().toJSON();if($WK.wpMediaTarget.prop("tagName")==="A"){$WK.wpMediaTarget.next("img.wp-media-image-preview").attr("src",attachment.url);$WK.wpMediaTarget.next().next("input.wp-media-image-id").attr("value",attachment.id);$WK.wpMediaTarget.hide()}else{$WK.wpMediaTarget.attr("src",attachment.url);$WK.wpMediaTarget.next("input.wp-media-image-id").attr("value",attachment.id)}});$WK.wpMediaFrame.open()}).on("click",".action-add-attachment",function(e){e.preventDefault();$WK.wpMediaTarget=$(this);if($WK.wpMediaFrame){$WK.wpMediaFrame.open();return}$WK.wpMediaFrame=wp.media({multiple:false,button:{text:"Select this file"}});$WK.wpMediaFrame.on("select",function(){var attachment=$WK.wpMediaFrame.state().get("selection").first().toJSON();$WK.wpMediaTarget.next("input.wp-media-attachment-id").val(attachment.id);$WK.wpMediaTarget.next().next("a.wp-media-attachment-preview").attr("href",attachment.url).text(attachment.url)});$WK.wpMediaFrame.open()}).on("focus",'[data-type="colorswatches"] input.fs-title',function(e){e.preventDefault();var _target=$(this);$WK.colorpicker.iris("show");$(".iris-picker").css({top:_target.offset().top+40,left:_target.offset().left});$WK.colorpicker.iris("option","change",function(event,ui){_target.val(ui.color.toString());var color=ui.color.toRgb();var t=(color.r+color.g+color.b)/2;var textColor=t<200?"#FFFFFF":"#000000";_target.css({"background-color":ui.color.toString(),color:textColor})});$WK.colorpicker.iris("color",$(this).val())}).on("click","input.allowed-extensions",function(){var field_id="#"+$(this).closest("li").attr("id");var ext=[];$(field_id+" input.allowed-extensions:checked").each(function(){ext.push($(this).data("extension"))});$(field_id+" input.fu-allowed-extensions").val(ext.join("|"))}).on("change","input.f-name",function(){var target=$(this);var newName=$(this).val().trim();if(newName!==""){$("#wck_fields_editor input.f-name").each(function(){if($(this).val()===newName&&!$(this).is(target)){alert("The name {"+newName+"} is already in use! Choose another name.");target.val("");return false}})}if($(this)[0].checkValidity()&&typeof $(this).data("lastValid")!=="undefined"){var oldName=$(this).data("lastValid");if(oldName!==newName){var oldNameInUse=false;$("#wck_expression input[type=text], #wck_fields_editor input.f-visibility, #wck_fields_editor input.f-visibility-readable, #wck_fields_editor input.visibility-readable").each(function(){if($(this).val().includes(oldName)){oldNameInUse=true;return false}});if(oldNameInUse&&confirm("Wait! Seems like {"+oldName+"} is used in formulas! Do you want to replace {"+oldName+"} in all formulas? {"+oldName+"} will be changed to {"+newName+"}")){$("#wck_expression input[type=text], #wck_fields_editor input.f-visibility, #wck_fields_editor input.f-visibility-readable, #wck_fields_editor input.visibility-readable").each(function(){$(this).val($(this).val().replaceAll("{"+oldName+"}","{"+newName+"}").replaceAll("{"+oldName+":","{"+newName+":").replaceAll('"field":"'+oldName+'"','"field":"'+newName+'"'))});$(this).data("lastValid",newName)}}}}).on("focusin","input.f-name",function(){if($(this)[0].checkValidity()){$(this).data("lastValid",$(this).val())}});$(".iris-square-value").on("click",function(e){e.preventDefault()});$(document).click(function(e){if(!$(e.target).closest('.iris-picker, [data-type="colorswatches"] input.fs-title').length){if($(".iris-picker").is(":visible")){$WK.colorpicker.iris("hide")}}});$("form#post").submit(function(e){$WK.saveFields();if(!$WK.saved){e.preventDefault();return false}$WK.saveExpression();if(!$WK.expr_saved&&$WK.expression.mode!=="off"){e.preventDefault();alert("Expression is required. Fill in required fields and try again!");return false}return true});$WK.init=function(){$WK.fieldList=$("#f-field-list");$WK.html=wck_fields_html;$WK.fields={};$WK.saved=false;$WK.expr_saved=false;$WK.counter=0;$WK.expression={mode:$("input.expression_type:checked").val()};$WK.loadJSONdata();$WK.showExpressionEditor();$WK.changeAssignType();$("form#post").attr("novalidate","");$WK.buildTooltips("");$WK.updateLayout();$("#wck-parameters .first-selected").prop("selected",true)};$WK.updateLayout=function(){if($WK.fieldsLayout==="two-col"){$WK.fieldList.addClass("layout-two-col")}else{$WK.fieldList.removeClass("layout-two-col")}};$WK.buildTooltips=function(selector){$(selector+"span.wck-field-tip").tipTip({attribute:"title",defaultPosition:"left"})};$WK.changeAssignType=function(){var disabled=$("#assign_type").val()==="1";$("#assign_products, #assign_categories, #assign_tags, #assign_attributes").prop("disabled",disabled)};$("#assign_type").on("change",$WK.changeAssignType);$WK.preloadMedia=function(id,callback){wp.media.attachment(id).fetch().then(function(){callback(wp.media.attachment(id))});return};$WK.addField=function(type){$WK.counter+=1;var id="wkfield-"+$WK.counter;$("li.welcome",$WK.fieldList).remove();$WK.fieldList.append($("
  • ",{"data-type":type,class:"form-invalid",id:id}).append($WK.html[type].replace("{id}",id)));$WK.buildTooltips("#"+id+" ");if($("#"+id).find(".pairs").length>0){$("#"+id+" .pairs").sortable({placeholder:"wck-sortable-placeholder",tolerance:"pointer"})}return id};$(window).on("beforeunload",function(){if($WK.saved===false){return""}});$WK.saveFields=function(){$WK.fields={};suggest=[];var error=$("li .field",$WK.fieldList).length===0;$("label.error").remove();$WK.saved=false;$("#wck-parameters .defined-fields").html("");$WK.appendGlobalParameters();if(error){alert("Please add at least one field before saving.");return false}$("li .field",$WK.fieldList).each(function(){var $row=$(this);var input_fname=$row.find("input.f-name");var input_ftitle=$row.find("input.f-title");var input_fhint=$row.find("input.f-hint");var input_default_value=$row.find("input.f-default-value");var input_css_class=$row.find("input.f-css-class");var field={type:$row.data("type"),use_expression:$row.data("use-expression")===true,name:input_fname.val(),title:input_ftitle.val(),hint:input_fhint.val(),default_value:input_default_value.val(),css_class:input_css_class.val(),required:$row.find("select.f-required").length>0?$row.find("select.f-required").val()==="on":true,layout:$WK.fieldsLayout,colspan:$row.find("input.f-colspan").val(),visibility:$row.find("input.f-visibility").val(),visibility_readable:$row.find("input.f-visibility-readable").val()};var input_fprice=$row.find("input.f-price");if(input_fprice.length>0){field.price=input_fprice.val();if(field.price!==""){field.use_expression=true}}var input_fimgwidth=$row.find("input.fimg-width");if(input_fimgwidth.length>0){field.image_size=input_fimgwidth.val()}var $fs_options;switch(field.type){case"select":case"radio":case"imageselect":case"imageswatches":case"colorswatches":case"radiogroup":case"checkboxgroup":field.options_name=[];field.options_title=[];if(field.type==="imageselect"||field.type==="imageswatches"){field.options_image=[]}if(field.type==="checkboxgroup"){field.select_limit=$row.find("input.fcbg-limit").val()}$fs_options=$row.find(".fs-option");$fs_options.each(function(){var fs_title=$(this).find("input.fs-title");var fs_name=$(this).find("input.fs-name");var f_default_value=$(this).find("input.f-default-value").is(":checked");if(typeof f_default_value!=="undefined"&&f_default_value===true){field.default_value=fs_name.val()+":"+fs_title.val()}field.options_name.push(fs_name.val()+":"+fs_title.val());field.options_title.push(fs_title.val());if(field.type==="imageselect"||field.type==="imageswatches"){var fs_image=$(this).find("input.fs-image");field.options_image.push(fs_image.val())}});break;case"dropdown":field.options_title=[];$fs_options=$row.find(".fs-option");$fs_options.each(function(){var fs_title=$(this).find("input.fs-title");var f_default_value=$(this).find("input.f-default-value").is(":checked");if(typeof f_default_value!=="undefined"&&f_default_value===true){field.default_value=fs_title.val()}field.options_title.push(fs_title.val())});break;case"number":var input_fnmin=$row.find("input.fn-min-value");field.min=input_fnmin.val();var input_fnmax=$row.find("input.fn-max-value");field.max=input_fnmax.val();break;case"checkbox":var input_fcb_default_state=$row.find("select.fcb-default-state");field.default_state=input_fcb_default_state.val()==="on";break;case"text":case"textarea":case"email":var input_ftminlen=$row.find("input.ft-min-length");var input_ftmaxlen=$row.find("input.ft-max-length");var input_ftpattern=$row.find("input.ft-pattern");field.min=input_ftminlen.val();field.max=input_ftmaxlen.val();if(input_ftpattern.length>0){field.pattern=input_ftpattern.val()}break;case"colorpicker":case"datepicker":case"rangedatepicker":var input_fdpdisallow_past_date=$row.find("input.fdp-disallow-past-date");field.disallow_past_date=input_fdpdisallow_past_date.is(":checked");break;case"imageupload":field.max_file_size=$row.find("input.fu-max-file-size").val();field.allowed_extensions=$row.find("input.fu-allowed-extensions").val();break;case"html":case"paragraph":case"hidden":case"attachment":field.content=$row.find(".fst-content").val();break;case"link":field.content=$row.find(".fst-content").val();field.target=$row.find(".fst-target").val();break;case"heading":field.content=$row.find(".fst-content").val();field.level=$row.find(".fst-level").val();break}if(field.name!==""&&field.name in $WK.fields){error=true;alert("Field names must be unique! The '"+field.name+"' name is used more than once.")}if(!error){$WK.appendFormulaVars(field)}});var wkform=$("form#post");if(!wkform[0].checkValidity()){error=true;$("input:invalid").closest(".field").find(".action-toggle.dashicons-arrow-down-alt2").trigger("click");$("input:invalid").each(function(){$('").insertBefore($(this))})}if(error&&$("label.error").length){$("html, body").animate({scrollTop:$("label.error").first().offset().top-160},1e3)}$WK.saveJSONdata();$WK.saved=!error};$WK.appendGlobalParameters=function(){if(typeof wck_global_parameters!==undefined){$("#wck-parameters .global-parameters").html("");$.each(wck_global_parameters,function(name,value){var name="global:"+name;var appendChildren="";suggest.push(name);if(typeof value==="object"){$.each(value,function(k,v){var suffix="['"+k+"']";appendChildren=appendChildren+'"});value=""}else{value=" = "+value}$("#wck-parameters .global-parameters").append('");$("#wck-parameters .global-parameters").append(appendChildren)})}};$WK.appendFormulaVars=function(field){$WK.fields[field.name]=field;if(field.use_expression){if(field.type!=="checkboxgroup"){suggest.push(field.name);$("#wck-parameters .defined-fields").append('")}else{suggest.push(field.name+":sum");$("#wck-parameters .defined-fields").append('");suggest.push(field.name+":min");$("#wck-parameters .defined-fields").append('");suggest.push(field.name+":max");$("#wck-parameters .defined-fields").append('")}if(field.type==="text"||field.type==="textarea"){suggest.push(field.name+":text");$("#wck-parameters .defined-fields").append('")}if(field.type==="rangedatepicker"){suggest.push(field.name+":date_from");$("#wck-parameters .defined-fields").append('");suggest.push(field.name+":date_to");$("#wck-parameters .defined-fields").append('");suggest.push(field.name+":days");$("#wck-parameters .defined-fields").append('")}else if(field.type==="datepicker"){suggest.push(field.name+":date");$("#wck-parameters .defined-fields").append('")}else if(field.type==="imageupload"){suggest.push(field.name+":size");$("#wck-parameters .defined-fields").append('")}}};$WK.saveJSONdata=function(){if(Object.keys($WK.fields).length>0){$("input[name=_wck_fieldset]").val(JSON.stringify($WK.fields))}};$WK.loadJSONdata=function(){if(typeof wck_load_fieldset==="object"){var layoutLoaded=false;$.each(wck_load_fieldset,function(){if(!layoutLoaded){if(this.hasOwnProperty("layout")&&this.layout==="two-col"){$(".wck-toggle-layout").trigger("click")}layoutLoaded=true}var field_id=$WK.addField(this.type);var $field=$("#"+field_id+" .field");$("#"+field_id+" .f-name").val(this.name);if(this.hasOwnProperty("colspan")){$("#"+field_id+" .f-colspan").val(this.colspan);if(this.colspan==="2"){$("#"+field_id+" .wck-toggle-colspan").trigger("click")}}$("#"+field_id+" .f-title").val(this.title);$("#"+field_id+" .f-hint").val(this.hint);$("#"+field_id+" .f-css-class").val(this.css_class);if($("#"+field_id+" .f-required").length>0){$("#"+field_id+" .f-required").val(this.required==="1"?"on":"off")}if(this.hasOwnProperty("visibility")){$("#"+field_id+" .f-visibility").val(this.visibility);$("#"+field_id+" .f-visibility-readable").val(this.visibility_readable);if(this.visibility_readable!==""){$("#"+field_id+" .visibility-readable").val("Rule preview: "+this.visibility_readable)}}var fprice=$("#"+field_id+" .f-price");if(fprice.length>0){fprice.val(this.price)}var fimgwidth=$("#"+field_id+" .fimg-width");if(fimgwidth.length>0){fimgwidth.val(this.image_size)}var options_title,options_name,options_image,default_value,first,$checked;if(this.type==="dropdown"){options_title=this.options_title;default_value=this.default_value;first=true;$checked=null;$.each(options_title,function(i,option_title){if(first){var $first=$field.find(".fs-option");$first.find("input.fs-title").val(option_title);if(default_value===option_title){$checked=$first.find("input.f-default-value")}first=false}else{var $clone=$field.find(".fs-option").last().clone().insertBefore($("#"+field_id+" .fs-options .action-add"));$clone.find("input.fs-title").val(option_title);if(default_value===option_title){$checked=$clone.find("input.f-default-value")}}if($checked){$checked.prop("checked",true)}})}else if(["select","radio","imageselect","radiogroup","checkboxgroup","imageswatches","colorswatches"].indexOf(this.type)>=0){options_name=this.options_name;options_title=this.options_title;default_value=this.default_value;if(this.type==="imageselect"||this.type==="imageswatches"){options_image=this.options_image;wp.media.attachment(options_image).fetch()}if(this.type==="checkboxgroup"){$("#"+field_id+" .fcbg-limit").val(this.select_limit)}first=true;$checked=null;$.each(options_name,function(i,option_name){if(option_name.indexOf(":")>=0){option_name=option_name.slice(0,option_name.indexOf(":"))}if(first){var $first=$field.find(".fs-option");$first.find("input.fs-name").val(option_name);$first.find("input.fs-title").val(options_title[i]);var fs_image=$first.find("input.fs-image");if(fs_image.length>0){fs_image.val(options_image[i]);$first.find("a.action-add-image").hide();$first.find(".wp-media-image-preview").attr("src",$WK.iconPreloader);$WK.preloadMedia(options_image[i],function(attachment){$first.find(".wp-media-image-preview").attr("src",attachment.get("url"))})}if(default_value===option_name){$checked=$first.find("input.f-default-value")}first=false}else{var $clone=$field.find(".fs-option").last().clone().insertBefore($("#"+field_id+" .fs-options .action-add"));$clone.find("input.fs-name").val(option_name);$clone.find("input.fs-title").val(options_title[i]);fs_image=$clone.find("input.fs-image");if(fs_image.length>0){fs_image.val(options_image[i]);$clone.find("a.action-add-image").hide();$clone.find(".wp-media-image-preview").attr("src",$WK.iconPreloader);$WK.preloadMedia(options_image[i],function(attachment){$clone.find(".wp-media-image-preview").attr("src",attachment.get("url"))})}if(default_value===option_name){$checked=$clone.find("input.f-default-value")}}if($checked){$checked.prop("checked",true)}})}else if(this.type==="number"){$("#"+field_id+" .fn-min-value").val(this.min);$("#"+field_id+" .fn-max-value").val(this.max);$("#"+field_id+" .f-default-value").val(this.default_value)}else if(this.type==="checkbox"){$("#"+field_id+" .fcb-default-state").val(this.default_state==="1"?"on":"off")}else if(this.type==="text"||this.type==="textarea"||this.type==="email"){$("#"+field_id+" .ft-min-length").val(this.min);$("#"+field_id+" .ft-max-length").val(this.max);$("#"+field_id+" .f-default-value").val(this.default_value);if(this.type==="text"){$("#"+field_id+" .ft-pattern").val(this.pattern)}}else if(this.type==="colorpicker"||this.type==="datepicker"||this.type==="rangedatepicker"){$("#"+field_id+" .fdp-disallow-past-date").prop("checked",this.disallow_past_date)}else if(this.type==="imageupload"){$("#"+field_id+" .fu-max-file-size").val(this.max_file_size);$("#"+field_id+" .fu-allowed-extensions").val(this.allowed_extensions);var ext=this.allowed_extensions.split("|");ext.forEach(function(e){$("#"+field_id+" .allowed-extensions.ext-"+e).prop("checked",true)})}else if(["html","paragraph","heading","hidden","link","attachment"].indexOf(this.type)>=0){$("#"+field_id+" .fst-content").val(this.content);if(this.type==="heading"){$("#"+field_id+" .fst-level").val(this.level)}else if(this.type==="link"){$("#"+field_id+" .fst-target").val(this.target)}else if(this.type==="attachment"){$WK.preloadMedia(this.content,function(attachment){$("#"+field_id+" .wp-media-attachment-preview").attr("href",attachment.get("url")).text(attachment.get("url"))})}}});$WK.saveFields()}};$WK.showExpressionEditor=function(){$("div.expression_oneline, div.expression_conditional, div.expression_off, div.expression_addon").hide();$("div.expression_"+$WK.expression.mode).show();if($WK.expression.mode==="off"){$(".off-hide").hide()}else{$(".off-hide").show()}};$("input.expression_type").on("change",function(){$WK.expression.mode=$(this).val();$WK.expressionLastFocusedInput=null;$WK.showExpressionEditor()});$WK.addCondition=function(if_value,then_value,addon=false){var $html=$('
    '+'
    '+''+"
    "+'
    '+''+"
    "+'
    '+''+"
    "+'
    '+''+"
    "+'
    ');$(".input-if input",$html).val(if_value);$(".input-equation input",$html).val(then_value);if(addon===true){$("div#addon-inputs").append($html)}else{$("div#extra-inputs").append($html)}$WK.autocomplete()};$("button.add-condition").on("click",function(){$WK.addCondition()});$("button.add-addon").on("click",function(){$WK.addCondition("","",true)});$WK.autocomplete=function(){$(".input-icon input").bind("keydown",function(e){if(e.keyCode===16||e.keyCode===219){input_key_pressed[e.keyCode]=true}}).autocomplete({minLength:0,source:function(request,response){if(input_key_pressed[16]===true&&input_key_pressed[219]===true){response(suggest)}},focus:function(){return false},select:function(event,ui){delete input_key_pressed[16];delete input_key_pressed[219];this.value+=ui.item.value+"}";return false}})};$WK.saveExpression=function(){var mode=$WK.expression.mode;$WK.expr_saved=false;if(mode==="oneline"){$WK.expression.expr=$(".expression_oneline input").val();if($WK.expression.expr!==""){$WK.expr_saved=true}}if(mode==="conditional"){var data=[];$(".expression_conditional .input-group").each(function(){var input_if=$(this).find(".input-if input").val();var input_eq=$(this).find(".input-equation input").val();data.push({type:"condition",if:input_if,then:input_eq})});var input_else=$(".expression_conditional .input-else input").val();data.push({type:"else",if:"true",then:input_else});$WK.expression.expr=data;if($WK.expression.expr.length>0){$WK.expr_saved=true}}if(mode==="addon"){var data=[];$(".expression_addon .input-group").each(function(){var input_if=$(this).find(".input-if input").val();var input_eq=$(this).find(".input-equation input").val();data.push({type:"condition",if:input_if,then:input_eq})});$WK.expression.expr=data;if($WK.expression.expr.length>0){$WK.expr_saved=true}}if(mode==="off"){$("input[name=_wck_expression]").val("off")}else{$("input[name=_wck_expression]").val(JSON.stringify($WK.expression))}};$WK.loadExpression=function(){if(typeof wck_load_expression==="object"){$WK.expression.mode=wck_load_expression.mode;$WK.expression.expr=wck_load_expression.expr;if($WK.expression.mode==="oneline"){$(".expression_oneline input").val($WK.expression.expr);$("input[name=_wck_choose_expression_type].expression_oneline").prop("checked",true);$WK.showExpressionEditor();$WK.addCondition()}else if($WK.expression.mode==="conditional"){$.each($WK.expression.expr,function(){if(this.type==="condition"){$WK.addCondition(this.if,this.then)}else if(this.type==="else"){$(".input-else input").val(this.then)}});$("input[name=_wck_choose_expression_type].expression_conditional").prop("checked",true);$WK.showExpressionEditor()}else if($WK.expression.mode==="addon"){$.each($WK.expression.expr,function(){$WK.addCondition(this.if,this.then,true)});$("input[name=_wck_choose_expression_type].expression_addon").prop("checked",true);$WK.showExpressionEditor()}}else{$WK.expression.mode="off";$("input[name=_wck_choose_expression_type].expression_off").prop("checked",true);$WK.showExpressionEditor();$WK.addCondition()}};$("button.test-expression").on("click",function(){$WK.saveExpression()});$WK.toolbarOnTop=false;$(window).scroll(function(){if($(this).scrollTop()>100){if(!$WK.toolbarOnTop){$("#wck-toolbar").fadeOut(function(){$WK.toolbarOnTop=true;$("#wck-toolbar").css({top:"0px",bottom:"auto"}).fadeIn()})}}else if(!$("#postbox-container-2").hasClass("fullscreen")){if($WK.toolbarOnTop){$("#wck-toolbar").fadeOut(function(){$WK.toolbarOnTop=false;$("#wck-toolbar").css({top:"auto",bottom:"0px"}).fadeIn()})}}});$CV.window=$("#wck-cv-builder");$CV.builder=$CV.window.find(".builder");$CV.template=$CV.window.find(".template").children();$CV.context=null;$CV.open=function(context){$CV.context=context;var fieldSelect=$CV.template.find("select.p-field");fieldSelect.empty();$WK.saveFields();fieldSelect.append('');$.each($WK.fieldList.find(".field"),function(){if($(this).data("group")!=="static"&&!$(this).is(context)){var name=$(this).find(".f-name").val();fieldSelect.append('")}});$CV.builder.append($CV.template.clone());$CV.builder.find(".or-condition").remove();var loadData=$CV.context.find(".f-visibility").val();try{loadData=JSON.parse(loadData)}catch(e){loadData=false}if(typeof loadData==="object"){$.each(loadData,function(i,or_condition){var first=true;$.each(or_condition,function(j,and_condition){$CV.add(first?"or":"and",null,and_condition);first=false})})}else{$CV.add("or",null,null)}$CV.window.find("span.self-name").text(context.find(".f-name").val());$CV.window.show().css({display:"flex"})};$CV.close=function(){$CV.window.hide();$CV.builder.empty()};$CV.add=function(type,destination,values){if(destination===null){destination=$CV.builder.find("."+type+"-group").last()}destination.append($CV.window.find(".template ."+type+"-condition").clone());var newCondition=destination.find(".and-condition").last();if(values!==null&&typeof values==="object"){newCondition.find(".p-field").val(values.field);newCondition.find(".p-comparison").val(values.comp).trigger("change");newCondition.find(".p-value").val(values.value)}else{newCondition.find(".p-value").val("")}};$CV.validate=function(){var isValid=true;var conditions=$CV.builder.find(".and-condition");conditions.find(".validation-error").removeClass("validation-error");conditions.each(function(){var field=$(this).find(".p-field");var comp=$(this).find(".p-comparison").val();var value=$(this).find(".p-value");if([null,""].includes(field.val())){field.addClass("validation-error");isValid=false}if(!value.prop("disabled")&&value.val()===""){value.addClass("validation-error");isValid=false}if(["5","6","7","8"].includes(comp)&&!value.val().match(/^-?\d*[\.,]?\d+$/)){value.addClass("validation-error");isValid=false}if(comp==="9"&&value.val()===""){value.addClass("validation-error");isValid=false}});return isValid};$CV.window.on("click",".cv-action-and",function(e){e.preventDefault();$CV.add("and",$(this).prev(),null)});$CV.window.on("click",".cv-action-or",function(e){e.preventDefault();$CV.add("or",$(this).prev(),null)});$CV.window.on("click",".cv-remove",function(e){e.preventDefault();var count=$(this).closest(".and-group").children().length;if(count===1){$(this).closest(".or-condition").remove()}else{$(this).parent().remove()}});$CV.window.on("change","select.p-comparison",function(e){var disabled=["1","2"].includes($(this).val());var pVal=$(this).next(".p-value");pVal.prop("disabled",disabled);if(disabled){pVal.val("")}});$CV.window.on("click",".cv-close",function(e){e.preventDefault();$CV.close()});$CV.window.on("click",".cv-save",function(e){e.preventDefault();if(!$CV.validate()){alert("Please correct the form!");return false}var or_conditions=[];var or_readable=[];$.each($CV.builder.find(".or-condition"),function(){var and_conditions=[];var and_readable=[];$.each($(this).find(".and-condition"),function(){var item={field:$(this).find(".p-field").val(),comp:$(this).find(".p-comparison").val(),comp_text:$(this).find(".p-comparison option:selected").text(),value:$(this).find(".p-value").val()};and_conditions.push(item);and_readable.push("{"+item.field+"} "+item.comp_text+" "+item.value)});or_conditions.push(and_conditions);or_readable.push(" ( "+and_readable.join(" and ")+" ) ")});var readable=or_readable.join(" or ").replaceAll(" "," ");$CV.context.find(".f-visibility").val(or_conditions.length===0?"":JSON.stringify(or_conditions));$CV.context.find(".f-visibility-readable").val(readable);if(readable!==""){$CV.context.find(".visibility-readable").val("Rule preview: "+readable)}else{$CV.context.find(".visibility-readable").val("")}$CV.close()});$("body").on("click",".action-field-visibility",function(){var context=$(this).closest(".field");$CV.open(context)});$WK.init();$WK.loadExpression();$WK.autocomplete()})})(jQuery); \ No newline at end of file diff --git a/assets/js/wckalkulator.js b/assets/js/wckalkulator.js index e628df2..12eed3b 100644 --- a/assets/js/wckalkulator.js +++ b/assets/js/wckalkulator.js @@ -3,13 +3,25 @@ $(document).ready(function ($) { var userTimeout; var _form = wck_ajax_object.form; + var shouldCalculatePrice = wck_ajax_object._wck_has_expression === "1"; + var CV = {}; - function calculatePrice() { - //wck-dynamic support + if (wck_ajax_object.hasOwnProperty("_wck_visibility_rules") && wck_ajax_object._wck_visibility_rules !== null) { + $.each(wck_ajax_object._wck_visibility_rules, function (fieldName, options) { + $("#wck_" + fieldName).hide().closest('tr').hide(); + CV[fieldName] = options; + }); + } + + function updateUI() { + //wck-dynamic support, conditional visibility support var formFields = {}; jQuery(_form + " [name^=wck").each(function () { - var n = $(this).attr("name").replace("wck[", "{").replace("]", "}"); - formFields[n] = $(this).val(); + var fieldName = $(this).attr("name").replace("wck[", "").replace("]", ""); + formFields["{" + fieldName + "}"] = $(this).val(); + if (CV.hasOwnProperty(fieldName)) { + toggleField(fieldName, CV[fieldName]); + } }); $("span.wck-dynamic").each(function () { @@ -20,16 +32,75 @@ }); $(this).text(Math.round(Mexp.eval(expr) * 100) / 100); }); + } - var data = $(_form).serialize().replace('add-to-cart', 'atc') + '&action=wckalkulator_calculate_price' + '&_wck_ajax_nonce=' + wck_ajax_object._wck_ajax_nonce; - $.each($(_form + " input[type=file].wck_imageupload"), function () { - data += "&" + $(this).attr("name") + "=" + (($(this)[0].files.length === 1) ? $(this)[0].files[0].size : 0); - }); - $.post(wck_ajax_object.ajax_url, data, function (response) { - if (response) { - $("#wckalkulator-price").html(response); + function toggleField(fieldName, rules) { + var state = null; + $.each(rules, function (i, or_rule) { + $.each(or_rule, function (j, and_rule) { + var field = $("#wck_" + and_rule.field); + if(field.length) { + state = compare(field.val(), and_rule.comp, and_rule.value); + } + return state !== false; + }); + if (state === true) { + $("#wck_" + fieldName).show().closest('tr').show(); + return false; } }); + if (state !== true) { + $("#wck_" + fieldName).hide().closest('tr').hide(); + return false; + } + } + + function compare(valueA, comp, valueB) { + try { + switch (comp) { + case "1": + return valueA === ""; + case "2": + return valueA !== ""; + case "3": + return valueA === valueB; + case "4": + return valueA !== valueB; + case "5": + case "6": + case "7": + case "8": + var numA = Math.round(parseFloat(valueA) * 1000) / 1000; + var numB = Math.round(parseFloat(valueB) * 1000) / 1000; + case "5": + return numA < numB; + case "6": + return numA <= numB; + case "7": + return numA > numB; + case "8": + return numA >= numB; + case "9": + return valueA.includes(valueB); + } + } catch (e) { + return false; + } + return false; + } + + function calculatePrice() { + if (shouldCalculatePrice) { + var data = $(_form).serialize().replace('add-to-cart', 'atc') + '&action=wckalkulator_calculate_price' + '&_wck_ajax_nonce=' + wck_ajax_object._wck_ajax_nonce; + $.each($(_form + " input[type=file].wck_imageupload"), function () { + data += "&" + $(this).attr("name") + "=" + (($(this)[0].files.length === 1) ? $(this)[0].files[0].size : 0); + }); + $.post(wck_ajax_object.ajax_url, data, function (response) { + if (response) { + $("#wckalkulator-price").html(response); + } + }); + } } $('input.wck_imageupload').on('change', function (e) { @@ -40,16 +111,18 @@ } }); - if (wck_ajax_object._wck_has_expression === "1") { - $(document).on('change', _form + ' input, ' + _form + ' select', function () { - clearTimeout(userTimeout); - userTimeout = setTimeout(function () { - $("#wckalkulator-price").html('...'); - calculatePrice(); - }, 1000); - }); - calculatePrice(); - } + $(document).on('change', _form + ' input, ' + _form + ' select, ' + _form + ' textarea', function () { + updateUI(); + clearTimeout(userTimeout); + userTimeout = setTimeout(function () { + $("#wckalkulator-price").html('...'); + calculatePrice(); + }, 1000); + }); + + updateUI(); + calculatePrice(); + $("span.wck-field-tip").tipTip({ attribute: 'title', diff --git a/assets/js/wckalkulator.min.js b/assets/js/wckalkulator.min.js index c13d3d1..37d7222 100644 --- a/assets/js/wckalkulator.min.js +++ b/assets/js/wckalkulator.min.js @@ -1 +1 @@ -(function($){"use strict";$(document).ready(function($){var userTimeout;var _form=wck_ajax_object.form;function calculatePrice(){var formFields={};jQuery(_form+" [name^=wck").each(function(){var n=$(this).attr("name").replace("wck[","{").replace("]","}");formFields[n]=$(this).val()});$("span.wck-dynamic").each(function(){var expr=$(this).data("expr");var vars=expr.match(/{[^}]+}/gm);vars.forEach(function(v,i){expr=expr.replaceAll(v,formFields[v])});$(this).text(Math.round(Mexp.eval(expr)*100)/100)});var data=$(_form).serialize().replace("add-to-cart","atc")+"&action=wckalkulator_calculate_price"+"&_wck_ajax_nonce="+wck_ajax_object._wck_ajax_nonce;$.each($(_form+" input[type=file].wck_imageupload"),function(){data+="&"+$(this).attr("name")+"="+($(this)[0].files.length===1?$(this)[0].files[0].size:0)});$.post(wck_ajax_object.ajax_url,data,function(response){if(response){$("#wckalkulator-price").html(response)}})}$("input.wck_imageupload").on("change",function(e){var size=$(this)[0].files[0].size;if(size>$(this).data("maxfilesize")*1e6){alert(wck_ajax_object._wck_i18n_maxfilesize+" Max. "+$(this).data("maxfilesize")+"MB");$(this).val("")}});if(wck_ajax_object._wck_has_expression==="1"){$(document).on("change",_form+" input, "+_form+" select",function(){clearTimeout(userTimeout);userTimeout=setTimeout(function(){$("#wckalkulator-price").html('...');calculatePrice()},1e3)});calculatePrice()}$("span.wck-field-tip").tipTip({attribute:"title",defaultPosition:"left"});$("input[type=checkbox][data-type='checkboxgroup']").change(function(e){var group=$(this).data("group");var required=$(this).data("required")===1;var limit=$(this).data("limit");var checked_count=$("input[type=checkbox][data-group='"+group+"']:checked").length;if(limit>0){if(checked_count>limit){$(this).prop("checked",false).blur()}}if(required&&checked_count===0){$(this).prop("checked",true)}checked_count=$("input[type=checkbox][data-group='"+group+"']:checked").length;if(checked_count>0){$("input[type=checkbox][data-group="+group+"]").get(0).setCustomValidity("")}});$(_form).submit(function(e){var lastGroup="";var _form=$(this).get(0);$("input[type=checkbox][data-type='checkboxgroup']").each(function(){var group=$(this).data("group");if(group!==lastGroup){if($(this).data("required")===1&&$("input[type=checkbox][data-group="+group+"]:checked").length===0){$("input[type=checkbox][data-group="+group+"]").get(0).setCustomValidity(wck_ajax_object._wck_i18n_required);_form.reportValidity();e.preventDefault();return false}}lastGroup=group})})})})(jQuery);!function(t,e){"object"==typeof exports&&"object"==typeof module?module.exports=e():"function"==typeof define&&define.amd?define([],e):"object"==typeof exports?exports.Mexp=e():t.Mexp=e()}(self,function(){return t={28:(t,e,a)=>{var n=a(733);n.prototype.formulaEval=function(){"use strict";for(var t,e,a,n=[],o=this.value,p=0;p"+e.value+""+o[p].show+""+t.value+"",type:10}):n.push({value:(1!=e.type?"(":"")+e.value+(1!=e.type?")":"")+""+t.value+"",type:1})):2===o[p].type||9===o[p].type?(t=n.pop(),e=n.pop(),n.push({value:(1!=e.type?"(":"")+e.value+(1!=e.type?")":"")+o[p].show+(1!=t.type?"(":"")+t.value+(1!=t.type?")":""),type:o[p].type})):12===o[p].type&&(t=n.pop(),e=n.pop(),a=n.pop(),n.push({value:o[p].show+"("+a.value+","+e.value+","+t.value+")",type:12}));return n[0].value},t.exports=n},618:(t,e,a)=>{"use strict";var n=a(178);function o(t,e){for(var a=0;ag.length-2?g.length-1:t.length-v;a>0;a--)if(void 0!==g[a])for(o=0;o0&&a{"use strict";var e=function(t){this.value=t};e.math={isDegree:!0,acos:function(t){return e.math.isDegree?180/Math.PI*Math.acos(t):Math.acos(t)},add:function(t,e){return t+e},asin:function(t){return e.math.isDegree?180/Math.PI*Math.asin(t):Math.asin(t)},atan:function(t){return e.math.isDegree?180/Math.PI*Math.atan(t):Math.atan(t)},acosh:function(t){return Math.log(t+Math.sqrt(t*t-1))},asinh:function(t){return Math.log(t+Math.sqrt(t*t+1))},atanh:function(t){return Math.log((1+t)/(1-t))},C:function(t,a){var n=1,o=t-a,p=a;p{var n=a(618);n.prototype.toPostfix=function(){"use strict";for(var t,e,a,o,p,h=[],u=[{value:"(",type:4,pre:0}],s=this.value,r=1;ra)u.push(t);else{for(;a>=o&&!i||i&&o{var n=a(477);n.prototype.postfixEval=function(t){"use strict";(t=t||{}).PI=Math.PI,t.E=Math.E;for(var e,a,o,p=[],h=this.value,u=void 0!==t.n,s=0;s1)throw new n.Exception("Uncaught Syntax error");return p[0].value>1e15?"Infinity":parseFloat(p[0].value.toFixed(15))},n.eval=function(t,e,a){return void 0===e?this.lex(t).toPostfix().postfixEval():void 0===a?void 0!==e.length?this.lex(t,e).toPostfix().postfixEval():this.lex(t).toPostfix().postfixEval(e):this.lex(t,e).toPostfix().postfixEval(a)},t.exports=n}},e={},a=function a(n){var o=e[n];if(void 0!==o)return o.exports;var p=e[n]={exports:{}};return t[n](p,p.exports,a),p.exports}(28),a;var t,e,a}); \ No newline at end of file +(function($){"use strict";$(document).ready(function($){var userTimeout;var _form=wck_ajax_object.form;var shouldCalculatePrice=wck_ajax_object._wck_has_expression==="1";var CV={};if(wck_ajax_object.hasOwnProperty("_wck_visibility_rules")&&wck_ajax_object._wck_visibility_rules!==null){$.each(wck_ajax_object._wck_visibility_rules,function(fieldName,options){$("#wck_"+fieldName).hide().closest("tr").hide();CV[fieldName]=options})}function updateUI(){var formFields={};jQuery(_form+" [name^=wck").each(function(){var fieldName=$(this).attr("name").replace("wck[","").replace("]","");formFields["{"+fieldName+"}"]=$(this).val();if(CV.hasOwnProperty(fieldName)){toggleField(fieldName,CV[fieldName])}});$("span.wck-dynamic").each(function(){var expr=$(this).data("expr");var vars=expr.match(/{[^}]+}/gm);vars.forEach(function(v,i){expr=expr.replaceAll(v,formFields[v])});$(this).text(Math.round(Mexp.eval(expr)*100)/100)})}function toggleField(fieldName,rules){var state=null;$.each(rules,function(i,or_rule){$.each(or_rule,function(j,and_rule){var field=$("#wck_"+and_rule.field);if(field.length){state=compare(field.val(),and_rule.comp,and_rule.value)}return state!==false});if(state===true){$("#wck_"+fieldName).show().closest("tr").show();return false}});if(state!==true){$("#wck_"+fieldName).hide().closest("tr").hide();return false}}function compare(valueA,comp,valueB){try{switch(comp){case"1":return valueA==="";case"2":return valueA!=="";case"3":return valueA===valueB;case"4":return valueA!==valueB;case"5":case"6":case"7":case"8":var numA=Math.round(parseFloat(valueA)*1e3)/1e3;var numB=Math.round(parseFloat(valueB)*1e3)/1e3;case"5":return numAnumB;case"8":return numA>=numB;case"9":return valueA.includes(valueB)}}catch(e){return false}return false}function calculatePrice(){if(shouldCalculatePrice){var data=$(_form).serialize().replace("add-to-cart","atc")+"&action=wckalkulator_calculate_price"+"&_wck_ajax_nonce="+wck_ajax_object._wck_ajax_nonce;$.each($(_form+" input[type=file].wck_imageupload"),function(){data+="&"+$(this).attr("name")+"="+($(this)[0].files.length===1?$(this)[0].files[0].size:0)});$.post(wck_ajax_object.ajax_url,data,function(response){if(response){$("#wckalkulator-price").html(response)}})}}$("input.wck_imageupload").on("change",function(e){var size=$(this)[0].files[0].size;if(size>$(this).data("maxfilesize")*1e6){alert(wck_ajax_object._wck_i18n_maxfilesize+" Max. "+$(this).data("maxfilesize")+"MB");$(this).val("")}});$(document).on("change",_form+" input, "+_form+" select, "+_form+" textarea",function(){updateUI();clearTimeout(userTimeout);userTimeout=setTimeout(function(){$("#wckalkulator-price").html('...');calculatePrice()},1e3)});updateUI();calculatePrice();$("span.wck-field-tip").tipTip({attribute:"title",defaultPosition:"left"});$("input[type=checkbox][data-type='checkboxgroup']").change(function(e){var group=$(this).data("group");var required=$(this).data("required")===1;var limit=$(this).data("limit");var checked_count=$("input[type=checkbox][data-group='"+group+"']:checked").length;if(limit>0){if(checked_count>limit){$(this).prop("checked",false).blur()}}if(required&&checked_count===0){$(this).prop("checked",true)}checked_count=$("input[type=checkbox][data-group='"+group+"']:checked").length;if(checked_count>0){$("input[type=checkbox][data-group="+group+"]").get(0).setCustomValidity("")}});$(_form).submit(function(e){var lastGroup="";var _form=$(this).get(0);$("input[type=checkbox][data-type='checkboxgroup']").each(function(){var group=$(this).data("group");if(group!==lastGroup){if($(this).data("required")===1&&$("input[type=checkbox][data-group="+group+"]:checked").length===0){$("input[type=checkbox][data-group="+group+"]").get(0).setCustomValidity(wck_ajax_object._wck_i18n_required);_form.reportValidity();e.preventDefault();return false}}lastGroup=group})})})})(jQuery);!function(t,e){"object"==typeof exports&&"object"==typeof module?module.exports=e():"function"==typeof define&&define.amd?define([],e):"object"==typeof exports?exports.Mexp=e():t.Mexp=e()}(self,function(){return t={28:(t,e,a)=>{var n=a(733);n.prototype.formulaEval=function(){"use strict";for(var t,e,a,n=[],o=this.value,p=0;p"+e.value+""+o[p].show+""+t.value+"",type:10}):n.push({value:(1!=e.type?"(":"")+e.value+(1!=e.type?")":"")+""+t.value+"",type:1})):2===o[p].type||9===o[p].type?(t=n.pop(),e=n.pop(),n.push({value:(1!=e.type?"(":"")+e.value+(1!=e.type?")":"")+o[p].show+(1!=t.type?"(":"")+t.value+(1!=t.type?")":""),type:o[p].type})):12===o[p].type&&(t=n.pop(),e=n.pop(),a=n.pop(),n.push({value:o[p].show+"("+a.value+","+e.value+","+t.value+")",type:12}));return n[0].value},t.exports=n},618:(t,e,a)=>{"use strict";var n=a(178);function o(t,e){for(var a=0;ag.length-2?g.length-1:t.length-v;a>0;a--)if(void 0!==g[a])for(o=0;o0&&a{"use strict";var e=function(t){this.value=t};e.math={isDegree:!0,acos:function(t){return e.math.isDegree?180/Math.PI*Math.acos(t):Math.acos(t)},add:function(t,e){return t+e},asin:function(t){return e.math.isDegree?180/Math.PI*Math.asin(t):Math.asin(t)},atan:function(t){return e.math.isDegree?180/Math.PI*Math.atan(t):Math.atan(t)},acosh:function(t){return Math.log(t+Math.sqrt(t*t-1))},asinh:function(t){return Math.log(t+Math.sqrt(t*t+1))},atanh:function(t){return Math.log((1+t)/(1-t))},C:function(t,a){var n=1,o=t-a,p=a;p{var n=a(618);n.prototype.toPostfix=function(){"use strict";for(var t,e,a,o,p,h=[],u=[{value:"(",type:4,pre:0}],s=this.value,r=1;ra)u.push(t);else{for(;a>=o&&!i||i&&o{var n=a(477);n.prototype.postfixEval=function(t){"use strict";(t=t||{}).PI=Math.PI,t.E=Math.E;for(var e,a,o,p=[],h=this.value,u=void 0!==t.n,s=0;s1)throw new n.Exception("Uncaught Syntax error");return p[0].value>1e15?"Infinity":parseFloat(p[0].value.toFixed(15))},n.eval=function(t,e,a){return void 0===e?this.lex(t).toPostfix().postfixEval():void 0===a?void 0!==e.length?this.lex(t,e).toPostfix().postfixEval():this.lex(t).toPostfix().postfixEval(e):this.lex(t,e).toPostfix().postfixEval(a)},t.exports=n}},e={},a=function a(n){var o=e[n];if(void 0!==o)return o.exports;var p=e[n]={exports:{}};return t[n](p,p.exports,a),p.exports}(28),a;var t,e,a}); \ No newline at end of file diff --git a/docs/.retype/404.html b/docs/.retype/404.html index 9ba2558..2d75201 100644 --- a/docs/.retype/404.html +++ b/docs/.retype/404.html @@ -3,7 +3,7 @@ - + @@ -27,11 +27,11 @@ - + - + - +
    @@ -48,7 +48,7 @@
    +
    diff --git a/docs/.retype/changelog/index.html b/docs/.retype/changelog/index.html index 35080a1..afd1e84 100644 --- a/docs/.retype/changelog/index.html +++ b/docs/.retype/changelog/index.html @@ -3,7 +3,7 @@ - + @@ -11,7 +11,7 @@ CHANGELOG | Custom fields and price calculator - + @@ -20,21 +20,21 @@ - + - + - + - + - +
    @@ -51,7 +51,7 @@
    +
    @@ -266,6 +266,19 @@

    CHANGELOG

    +

    2022-07-18 +v.1.4.0

    +
      +
    • new formula builder
    • +
    • apply filters on td elements in field's templates
    • +
    • new assignment type: product attribute
    • +
    • more columns on fieldset table
    • +
    • toggle button to publish/unpublish fieldsets quickly
    • +
    • support for stock management and stock reduction multiplier
    • +
    • layouts feature - you can choose one or two column layout
    • +
    • conditional visibility (set rules to show/hide fields)
    • +
    • bug fixes
    • +

    2022-07-11 v 1.3.3