Plugin Directory

Changeset 3241282


Ignore:
Timestamp:
02/16/2025 12:22:54 PM (13 months ago)
Author:
EmranAhmed
Message:

Release 1.3.27

Location:
woo-variation-gallery
Files:
68 added
12 edited

Legend:

Unmodified
Added
Removed
  • woo-variation-gallery/trunk/README.txt

    r3206313 r3241282  
    33Tags: woocommerce variation image gallery, additional variation image gallery, product variation image gallery, product variation image, variation images gallery, additional image, additional variation image, WooCommerce variation product thumbnail gallery
    44Requires PHP: 7.4
    5 Stable tag: 1.3.26
     5Stable tag: 1.3.27
    66Requires at least: 5.7
    77Tested up to: 6.7
    88WC requires at least: 5.8
    9 WC tested up to: 9.4
     9WC tested up to: 9.6
    1010License: GPLv3
    1111License URI: http://www.gnu.org/licenses/gpl-3.0.html
     
    154154
    155155[meloz](https://wordpress.org/support/topic/great-product-and-awesome-support-8/):
    156 > "I have been using this plugin for awhile now and was working exactly how I wanted it.
    157 
    158 >Then an update came through for my theme and it stopped showing the variation images when changing the selection. I googled for ages and looked everywhere how to fix it.
     156> "I have been using this plugin for a while now and was working exactly how I wanted it."
     157
     158>Then an update came through for my theme, and it stopped showing the variation images when changing the selection. I googled for ages and looked everywhere how to fix it.
    159159
    160160
     
    164164
    165165[Riaan Aggenbag](https://wordpress.org/support/topic/dont-believe-the-haters/):
    166 > 'Really good support from \Tanvirul when I ran into some CSS issues.
     166> 'Really good support from Tanvirul when I ran into some CSS issues.
    167167
    168168>Thanks ya’ll.'
     
    171171> 'Perfect combination with their Additional Variation Images for WooCommerce plugin.
    172172
    173 >Great support too!'
     173> Great support too!'
    174174
    175175= PREMIUM FEATURES OF ADDITIONAL VARIATION IMAGES FOR WOOCOMMERCE =
     
    378378== Changelog ==
    379379
     380= 1.3.27 - 16-02-2025 =
     381
     382* Fix: Settings table broken issue.
     383* Add: WC 9.6+ compatibility.
     384
    380385= 1.3.26 - 11-12-2024 =
    381386
  • woo-variation-gallery/trunk/assets/css/admin.css

    r3206313 r3241282  
    33 *
    44 * Author: Emran Ahmed ( emran.bd.08@gmail.com )
    5  * Date: 12/11/2024, 5:52:41 PM
     5 * Date: 2/16/2025, 6:20:37 PM
    66 * Released under the GPLv3 license.
    77 */
  • woo-variation-gallery/trunk/assets/css/frontend.css

    r3206313 r3241282  
    33 *
    44 * Author: Emran Ahmed ( emran.bd.08@gmail.com )
    5  * Date: 12/11/2024, 5:52:41 PM
     5 * Date: 2/16/2025, 6:20:37 PM
    66 * Released under the GPLv3 license.
    77 */
  • woo-variation-gallery/trunk/assets/css/slick.css

    r3206313 r3241282  
    33 *
    44 * Author: Emran Ahmed ( emran.bd.08@gmail.com )
    5  * Date: 12/11/2024, 5:52:41 PM
     5 * Date: 2/16/2025, 6:20:37 PM
    66 * Released under the GPLv3 license.
    77 */
  • woo-variation-gallery/trunk/assets/js/admin.js

    r3206313 r3241282  
    33 *
    44 * Author: Emran Ahmed ( emran.bd.08@gmail.com )
    5  * Date: 12/11/2024, 5:52:41 PM
     5 * Date: 2/16/2025, 6:20:37 PM
    66 * Released under the GPLv3 license.
    77 */
  • woo-variation-gallery/trunk/assets/js/frontend.js

    r3206313 r3241282  
    33 *
    44 * Author: Emran Ahmed ( emran.bd.08@gmail.com )
    5  * Date: 12/11/2024, 5:52:41 PM
     5 * Date: 2/16/2025, 6:20:37 PM
    66 * Released under the GPLv3 license.
    77 */
  • woo-variation-gallery/trunk/assets/js/slick.js

    r3206313 r3241282  
    33 *
    44 * Author: Emran Ahmed ( emran.bd.08@gmail.com )
    5  * Date: 12/11/2024, 5:52:41 PM
     5 * Date: 2/16/2025, 6:20:37 PM
    66 * Released under the GPLv3 license.
    77 */
  • woo-variation-gallery/trunk/includes/getwooplugins/class-getwooplugins-admin-settings.php

    r3129445 r3241282  
    227227        public static function dependency_attribute($value) {
    228228            if ($value && isset( $value['require'] )) {
    229                    return sprintf(' data-gwp_dependency="%s"', self::esc_json(wp_json_encode( $value['require'] )));
     229                   return sprintf(' inert data-gwp_dependency="%s"', self::esc_json(wp_json_encode( $value['require'] )));
    230230            }
    231231            return '';
  • woo-variation-gallery/trunk/includes/getwooplugins/css/getwooplugins-settings.css

    r3129445 r3241282  
    11.select2-results__option--highlighted {
    2     --wp-admin-theme-color                : #007CBA;
    3     --wp-admin-theme-color--rgb           : 0, 124, 186;
    4     --wp-admin-theme-color-darker-10      : #006BA1;
    5     --wp-admin-theme-color-darker-10--rgb : 0, 107, 161;
    6     --wp-admin-theme-color-darker-20      : #005A87;
    7     --wp-admin-theme-color-darker-20--rgb : 0, 90, 135;
    8     --wp-admin-border-width-focus         : 2px
     2    --wp-admin-theme-color: #007CBA;
     3    --wp-admin-theme-color--rgb: 0, 124, 186;
     4    --wp-admin-theme-color-darker-10: #006BA1;
     5    --wp-admin-theme-color-darker-10--rgb: 0, 107, 161;
     6    --wp-admin-theme-color-darker-20: #005A87;
     7    --wp-admin-theme-color-darker-20--rgb: 0, 90, 135;
     8    --wp-admin-border-width-focus: 2px
     9}
     10
     11@media (-webkit-min-device-pixel-ratio: 2), (min-resolution: 192dpi) {
     12    .select2-results__option--highlighted {
     13        --wp-admin-border-width-focus: 1.5px;
    914    }
    10 
    11 @media (-webkit-min-device-pixel-ratio : 2), (min-resolution : 192dpi) {
    12     .select2-results__option--highlighted {
    13         --wp-admin-border-width-focus : 1.5px;
    14         }
     15}
     16
     17/*[data-gwp_dependency]:not(.dependency-show) {
     18    display: none !important;
     19}*/
     20[data-gwp_dependency]:is([inert]) {
     21    display: none !important;
     22}
     23
     24.getwooplugins-settings-wrapper h2 {
     25    font-size: 1.3em;
     26    margin-bottom: 10px;
     27}
     28
     29.getwooplugins-settings-wrapper nav.getwooplugins-nav-tab-wrapper {
     30    margin: 1.5em 0 1em;
     31}
     32
     33.getwooplugins-settings-content-wrapper.has-sidebar {
     34    display: flex;
     35}
     36
     37.getwooplugins-settings-content-wrapper.has-sidebar .getwooplugins-settings-main {
     38    width: 80%;
     39}
     40
     41.getwooplugins-settings-sidebar {
     42    background-color: #FFFFFF;
     43    display: inline-block;
     44    width: 20%;
     45    margin: 0 10px;
     46    border-radius: 2px;
     47    box-shadow: 0 0 0 1px rgb(0 0 0 / 7%), 0 1px 1px rgb(0 0 0 / 4%);
     48    box-sizing: border-box;
     49    padding: 10px 20px;
     50}
     51
     52.getwooplugins-recommended-plugins-tab {
     53    box-sizing: border-box;
     54    padding: 2px 0;
     55}
     56
     57@media screen and (max-width: 960px) {
     58    .getwooplugins-settings-content-wrapper.has-sidebar .getwooplugins-settings-main {
     59        width: 100%;
    1560    }
    1661
    17 [data-gwp_dependency]:not(.dependency-show) {
    18     display : none !important;
     62    .getwooplugins-settings-sidebar {
     63        display: none;
    1964    }
    20 
    21 .getwooplugins-settings-wrapper h2 {
    22     font-size     : 1.3em;
    23     margin-bottom : 10px;
     65}
     66
     67@media screen and (max-width: 782px) {
     68    .getwooplugins-admin-form-table td {
     69        margin-bottom: auto;
     70        padding: 10px 20px;
    2471    }
    2572
    26 .getwooplugins-settings-wrapper nav.getwooplugins-nav-tab-wrapper {
    27     margin : 1.5em 0 1em;
     73    .getwooplugins-nav-tab-wrapper .nav-tab {
     74        margin: 2px 0;
    2875    }
    29 
    30 .getwooplugins-settings-content-wrapper.has-sidebar {
    31     display : flex;
    32     }
    33 
    34 .getwooplugins-settings-content-wrapper.has-sidebar .getwooplugins-settings-main {
    35     width : 80%;
    36     }
    37 
    38 .getwooplugins-settings-sidebar {
    39     background-color : #FFFFFF;
    40     display          : inline-block;
    41     width            : 20%;
    42     margin           : 0 10px;
    43     border-radius    : 2px;
    44     box-shadow       : 0 0 0 1px rgb(0 0 0 / 7%), 0 1px 1px rgb(0 0 0 / 4%);
    45     box-sizing       : border-box;
    46     padding          : 10px 20px;
    47     }
    48 
    49 .getwooplugins-recommended-plugins-tab {
    50     box-sizing : border-box;
    51     padding    : 2px 0;
    52     }
    53 
    54 @media screen and (max-width : 960px) {
    55     .getwooplugins-settings-content-wrapper.has-sidebar .getwooplugins-settings-main {
    56         width : 100%;
    57         }
    58 
    59     .getwooplugins-settings-sidebar {
    60         display : none;
    61         }
    62     }
    63 
    64 @media screen and (max-width : 782px) {
    65     .getwooplugins-admin-form-table td {
    66         margin-bottom : auto;
    67         padding       : 10px 20px;
    68         }
    69 
    70     .getwooplugins-nav-tab-wrapper .nav-tab {
    71         margin : 2px 0;
    72         }
    73     }
     76}
    7477
    7578.gwp-go-pro-action-link > a {
    76     font-weight    : bold;
    77     text-transform : capitalize;
    78     color          : var(--wc-red);
    79     text-shadow    : 1px 1px 1px #EEEEEE;
    80     }
     79    font-weight: bold;
     80    text-transform: capitalize;
     81    color: var(--wc-red);
     82    text-shadow: 1px 1px 1px #EEEEEE;
     83}
    8184
    8285.gwp-setting-input-suffix {
    8386    /*margin: 4px;*/
    84     display : inline-block;
    85     }
     87    display: inline-block;
     88}
    8689
    8790.getwooplugins-admin-form-table {
    88     margin        : 0;
    89     position      : relative;
    90     table-layout  : fixed;
    91     margin-top    : 15px;
    92     background    : #FFFFFF;
    93     border-radius : 2px;
    94     box-shadow    : 0 0 0 1px rgba(0, 0, 0, 0.07), 0 1px 1px rgba(0, 0, 0, 0.04);
    95     }
     91    margin: 0;
     92    position: relative;
     93    table-layout: fixed;
     94    margin-top: 15px;
     95    background: #FFFFFF;
     96    border-radius: 2px;
     97    box-shadow: 0 0 0 1px rgba(0, 0, 0, 0.07), 0 1px 1px rgba(0, 0, 0, 0.04);
     98}
     99
     100.getwooplugins-admin-form-table .forminp {
     101    display: table-cell !important;
     102}
    96103
    97104.getwooplugins-admin-form-table .forminp-radio ul {
    98     margin : 0
    99     }
     105    margin: 0
     106}
    100107
    101108.getwooplugins-admin-form-table .forminp-radio ul li {
    102     line-height : 1.4em
    103     }
     109    line-height: 1.4em
     110}
    104111
    105112.getwooplugins-admin-form-table input[type=email],
    106113.getwooplugins-admin-form-table input[type=number],
    107114.getwooplugins-admin-form-table input[type=text] {
    108     height : auto
    109     }
     115    height: auto
     116}
    110117
    111118.getwooplugins-admin-form-table textarea.input-text {
    112     height    : 100%;
    113     min-width : 150px;
    114     display   : block
    115     }
     119    height: 100%;
     120    min-width: 150px;
     121    display: block
     122}
    116123
    117124.getwooplugins-admin-form-table input.regular-input,
     
    128135.getwooplugins-admin-form-table input[type=week],
    129136.getwooplugins-admin-form-table textarea {
    130     width          : 400px;
    131     margin         : 0;
    132     padding        : 3px 6px;
    133     box-sizing     : border-box;
    134     vertical-align : top
    135     }
     137    width: 400px;
     138    margin: 0;
     139    padding: 3px 6px;
     140    box-sizing: border-box;
     141    vertical-align: top
     142}
    136143
    137144.getwooplugins-admin-form-table input[type=date],
     
    140147.getwooplugins-admin-form-table input[type=time],
    141148.getwooplugins-admin-form-table input[type=week] {
    142     width : 200px
    143     }
     149    width: 200px
     150}
    144151
    145152.getwooplugins-admin-form-table select {
    146     width          : 400px;
    147     margin         : 0;
    148     box-sizing     : border-box;
    149     line-height    : 32px;
    150     vertical-align : top
    151     }
     153    width: 400px;
     154    margin: 0;
     155    box-sizing: border-box;
     156    line-height: 32px;
     157    vertical-align: top
     158}
    152159
    153160.getwooplugins-admin-form-table input[size] {
    154     width : auto !important
    155     }
     161    width: auto !important
     162}
    156163
    157164
    158165.getwooplugins-admin-form-table textarea.wide-input {
    159     width : 100%
    160     }
     166    width: 100%
     167}
    161168
    162169.getwooplugins-admin-form-table .getwooplugins-help-tip {
    163     padding        : 0;
    164     margin         : 0 0 0 5px !important;
    165     vertical-align : middle;
    166     cursor         : help;
    167     line-height    : 1
    168     }
     170    padding: 0;
     171    margin: 0 0 0 5px !important;
     172    vertical-align: middle;
     173    cursor: help;
     174    line-height: 1
     175}
    169176
    170177
    171178.getwooplugins-help-tip {
    172     color          : #666666;
    173     display        : inline-block;
    174     font-size      : 1.1em;
    175     font-style     : normal;
    176     height         : 16px;
    177     line-height    : 16px;
    178     position       : relative;
    179     vertical-align : middle;
    180     width          : 16px;
    181     margin         : 0 0 0 5px !important;
    182     }
     179    color: #666666;
     180    display: inline-block;
     181    font-size: 1.1em;
     182    font-style: normal;
     183    height: 16px;
     184    line-height: 16px;
     185    position: relative;
     186    vertical-align: middle;
     187    width: 16px;
     188    margin: 0 0 0 5px !important;
     189}
    183190
    184191.getwooplugins-help-tip::after {
    185     font-family            : dashicons;
    186     speak                  : never;
    187     font-weight            : 400;
    188     font-variant           : normal;
    189     text-transform         : none;
    190     line-height            : 1;
    191     -webkit-font-smoothing : antialiased;
    192     margin                 : 0;
    193     text-indent            : 0;
    194     position               : absolute;
    195     top                    : 0;
    196     left                   : 0;
    197     width                  : 100%;
    198     height                 : 100%;
    199     text-align             : center;
    200     content                : "\f348";
    201     cursor                 : help;
    202     }
     192    font-family: dashicons;
     193    speak: never;
     194    font-weight: 400;
     195    font-variant: normal;
     196    text-transform: none;
     197    line-height: 1;
     198    -webkit-font-smoothing: antialiased;
     199    margin: 0;
     200    text-indent: 0;
     201    position: absolute;
     202    top: 0;
     203    left: 0;
     204    width: 100%;
     205    height: 100%;
     206    text-align: center;
     207    content: "\f348";
     208    cursor: help;
     209}
    203210
    204211/***/
    205212
    206213#tiptip_holder {
    207     display  : none;
    208     z-index  : 8675309;
    209     position : absolute;
    210     top      : 0;
    211     left     : 0
    212     }
     214    display: none;
     215    z-index: 8675309;
     216    position: absolute;
     217    top: 0;
     218    left: 0
     219}
    213220
    214221#tiptip_holder.tip_top {
    215     padding-bottom : 5px
    216     }
     222    padding-bottom: 5px
     223}
    217224
    218225#tiptip_holder.tip_top #tiptip_arrow_inner {
    219     margin-top       : -7px;
    220     margin-left      : -6px;
    221     border-top-color : #333333
    222     }
     226    margin-top: -7px;
     227    margin-left: -6px;
     228    border-top-color: #333333
     229}
    223230
    224231#tiptip_holder.tip_bottom {
    225     padding-top : 5px
    226     }
     232    padding-top: 5px
     233}
    227234
    228235#tiptip_holder.tip_bottom #tiptip_arrow_inner {
    229     margin-top          : -5px;
    230     margin-left         : -6px;
    231     border-bottom-color : #333333
    232     }
     236    margin-top: -5px;
     237    margin-left: -6px;
     238    border-bottom-color: #333333
     239}
    233240
    234241#tiptip_holder.tip_right {
    235     padding-left : 5px
    236     }
     242    padding-left: 5px
     243}
    237244
    238245#tiptip_holder.tip_right #tiptip_arrow_inner {
    239     margin-top         : -6px;
    240     margin-left        : -5px;
    241     border-right-color : #333333
    242     }
     246    margin-top: -6px;
     247    margin-left: -5px;
     248    border-right-color: #333333
     249}
    243250
    244251#tiptip_holder.tip_left {
    245     padding-right : 5px
    246     }
     252    padding-right: 5px
     253}
    247254
    248255#tiptip_holder.tip_left #tiptip_arrow_inner {
    249     margin-top        : -6px;
    250     margin-left       : -7px;
    251     border-left-color : #333333
    252     }
     256    margin-top: -6px;
     257    margin-left: -7px;
     258    border-left-color: #333333
     259}
    253260
    254261#tiptip_content, .chart-tooltip, .wc_error_tip {
    255     color         : #FFFFFF;
    256     font-size     : .8em;
    257     max-width     : 150px;
    258     background    : #333333;
    259     text-align    : center;
    260     border-radius : 3px;
    261     padding       : .618em 1em;
    262     box-shadow    : 0 1px 3px rgba(0, 0, 0, .2)
    263     }
     262    color: #FFFFFF;
     263    font-size: .8em;
     264    max-width: 150px;
     265    background: #333333;
     266    text-align: center;
     267    border-radius: 3px;
     268    padding: .618em 1em;
     269    box-shadow: 0 1px 3px rgba(0, 0, 0, .2)
     270}
    264271
    265272#tiptip_content code, .chart-tooltip code, .wc_error_tip code {
    266     padding    : 1px;
    267     background : #888888
    268     }
     273    padding: 1px;
     274    background: #888888
     275}
    269276
    270277#tiptip_arrow, #tiptip_arrow_inner {
    271     position     : absolute;
    272     border-color : transparent;
    273     border-style : solid;
    274     border-width : 6px;
    275     height       : 0;
    276     width        : 0
    277     }
     278    position: absolute;
     279    border-color: transparent;
     280    border-style: solid;
     281    border-width: 6px;
     282    height: 0;
     283    width: 0
     284}
    278285
    279286/***/
    280287
    281288h2 .getwooplugins-help-tip {
    282     margin-top  : -5px;
    283     margin-left : .25em
    284     }
    285 
    286 .getwooplugins-admin-form-table tr:nth-child(even) {
    287     background : #FCFCFC;
    288     }
     289    margin-top: -5px;
     290    margin-left: .25em
     291}
     292
     293
     294.getwooplugins-admin-form-table tr:nth-child(even of :not([inert])) {
     295    background: #FCFCFC;
     296}
    289297
    290298.getwooplugins-admin-form-table .input-wrapper {
    291     display        : flex;
    292     flex-wrap      : nowrap;
    293     flex-direction : row;
    294     }
     299    display: flex;
     300    flex-wrap: nowrap;
     301    flex-direction: row;
     302}
    295303
    296304.getwooplugins-admin-form-table .input-wrapper.has-suffix input {
    297     border                     : 1px solid #8C8F94;
    298     border-right               : 0;
    299     border-top-right-radius    : 0;
    300     border-bottom-right-radius : 0;
    301     }
     305    border: 1px solid #8C8F94;
     306    border-right: 0;
     307    border-top-right-radius: 0;
     308    border-bottom-right-radius: 0;
     309}
    302310
    303311.rtl .getwooplugins-admin-form-table .input-wrapper.has-suffix input {
    304     border                    : 1px solid #8C8F94;
    305     border-radius             : 4px;
    306     border-left               : 0;
    307     border-top-left-radius    : 0;
    308     border-bottom-left-radius : 0;
    309     }
     312    border: 1px solid #8C8F94;
     313    border-radius: 4px;
     314    border-left: 0;
     315    border-top-left-radius: 0;
     316    border-bottom-left-radius: 0;
     317}
    310318
    311319.getwooplugins-admin-form-table .input-wrapper.has-prefix input {
    312     border-left               : 0;
    313     border-top-left-radius    : 0;
    314     border-bottom-left-radius : 0;
    315     }
     320    border-left: 0;
     321    border-top-left-radius: 0;
     322    border-bottom-left-radius: 0;
     323}
    316324
    317325.rtl .getwooplugins-admin-form-table .input-wrapper.has-prefix input {
    318     border-right               : 0;
    319     border-top-right-radius    : 0;
    320     border-bottom-right-radius : 0;
    321     }
     326    border-right: 0;
     327    border-top-right-radius: 0;
     328    border-bottom-right-radius: 0;
     329}
    322330
    323331.getwooplugins-admin-form-table .icon-holder {
    324     padding : 4px 0;
    325     }
     332    padding: 4px 0;
     333}
    326334
    327335.getwooplugins-admin-form-table .input-wrapper.has-suffix .gwp-setting-input-suffix {
    328     box-shadow                : 0 0 0 transparent;
    329     border-radius             : 4px;
    330     border                    : 1px solid #8C8F94;
    331     background-color          : #DCDCDE;
    332     color                     : #2C3338;
    333     padding                   : 0 8px;
    334     line-height               : 2;
    335     border-top-left-radius    : 0;
    336     border-bottom-left-radius : 0;
    337     }
     336    box-shadow: 0 0 0 transparent;
     337    border-radius: 4px;
     338    border: 1px solid #8C8F94;
     339    background-color: #DCDCDE;
     340    color: #2C3338;
     341    padding: 0 8px;
     342    line-height: 2;
     343    border-top-left-radius: 0;
     344    border-bottom-left-radius: 0;
     345}
    338346
    339347
    340348.rtl .getwooplugins-admin-form-table .input-wrapper.has-suffix .gwp-setting-input-suffix {
    341     border-radius              : 4px;
    342     border-top-right-radius    : 0;
    343     border-bottom-right-radius : 0;
    344     }
     349    border-radius: 4px;
     350    border-top-right-radius: 0;
     351    border-bottom-right-radius: 0;
     352}
    345353
    346354
    347355.getwooplugins-admin-form-table .input-wrapper.has-prefix .gwp-setting-input-prefix {
    348     box-shadow                 : 0 0 0 transparent;
    349     border-radius              : 4px;
    350     border                     : 1px solid #8C8F94;
    351     background-color           : #DCDCDE;
    352     color                      : #2C3338;
    353     padding                    : 0 8px;
    354     line-height                : 2;
    355     border-top-right-radius    : 0;
    356     border-bottom-right-radius : 0;
    357     }
     356    box-shadow: 0 0 0 transparent;
     357    border-radius: 4px;
     358    border: 1px solid #8C8F94;
     359    background-color: #DCDCDE;
     360    color: #2C3338;
     361    padding: 0 8px;
     362    line-height: 2;
     363    border-top-right-radius: 0;
     364    border-bottom-right-radius: 0;
     365}
    358366
    359367
    360368.rtl .getwooplugins-admin-form-table .input-wrapper.has-prefix .gwp-setting-input-prefix {
    361     border-radius             : 4px;
    362     border-top-left-radius    : 0;
    363     border-bottom-left-radius : 0;
    364     }
     369    border-radius: 4px;
     370    border-top-left-radius: 0;
     371    border-bottom-left-radius: 0;
     372}
    365373
    366374.getwooplugins-admin-form-table tr {
    367     border-bottom  : 1px solid #EEEEEE;
    368     display        : block;
    369     vertical-align : top;
    370     }
     375    border-bottom: 1px solid #EEEEEE;
     376    display: block;
     377    vertical-align: top;
     378}
    371379
    372380.getwooplugins-admin-form-table tr:last-child {
    373     border : 0;
    374     }
     381    border: 0;
     382}
    375383
    376384.getwooplugins-admin-form-table td .description {
    377     font-style : italic;
    378     }
     385    font-style: italic;
     386}
    379387
    380388.getwooplugins-admin-form-table th {
    381     padding : 20px 10px 20px 20px;
    382     }
     389    padding: 20px 10px 20px 20px;
     390}
    383391
    384392.getwooplugins-admin-form-table .is-pro th {
    385     pointer-events : none;
    386     }
     393    pointer-events: none;
     394}
    387395
    388396.getwooplugins-admin-form-table .is-pro td {
    389     opacity        : 0.6;
    390     pointer-events : none;
    391     }
     397    opacity: 0.6;
     398    pointer-events: none;
     399}
    392400
    393401.getwooplugins-admin-form-table .is-new th label::after,
    394402.getwooplugins-admin-form-table .is-classic th label::after {
    395     content                    : "";
    396     position                   : absolute;
    397     left                       : -20px;
    398     right                      : auto;
    399     top                        : -20px;
    400     color                      : #FFFFFF;
    401     font-size                  : 8px;
    402     font-weight                : normal;
    403     text-transform             : uppercase;
    404     padding                    : 5px;
    405     line-height                : 1;
    406     border-bottom-right-radius : 5px;
    407     }
     403    content: "";
     404    position: absolute;
     405    left: -20px;
     406    right: auto;
     407    top: -20px;
     408    color: #FFFFFF;
     409    font-size: 8px;
     410    font-weight: normal;
     411    text-transform: uppercase;
     412    padding: 5px;
     413    line-height: 1;
     414    border-bottom-right-radius: 5px;
     415}
    408416
    409417.rtl .getwooplugins-admin-form-table .is-new th label::after,
    410418.rtl .getwooplugins-admin-form-table .is-classic th label::after {
    411     right : -10px;
    412     left  : auto;
    413     border-bottom-left-radius : 5px;
    414     border-bottom-right-radius : 0;
    415     }
     419    right: -10px;
     420    left: auto;
     421    border-bottom-left-radius: 5px;
     422    border-bottom-right-radius: 0;
     423}
    416424
    417425/*.getwooplugins-admin-form-table .is-pro th label::before {
     
    424432.getwooplugins-admin-form-table .help-preview th .help-modal {
    425433
    426     pointer-events  : all;
    427     text-decoration : none;
    428     right           : 0;
    429     top             : 18px;
    430     padding         : 1px;
    431     position        : absolute;
    432     font-family     : dashicons;
    433     display         : inline-block;
    434     line-height     : 1;
    435     font-weight     : 400;
    436     font-style      : normal;
    437     width           : 22px;
    438     height          : 22px;
    439     font-size       : 22px;
    440     vertical-align  : top;
    441     text-align      : center;
    442     }
     434    pointer-events: all;
     435    text-decoration: none;
     436    right: 0;
     437    top: 18px;
     438    padding: 1px;
     439    position: absolute;
     440    font-family: dashicons;
     441    display: inline-block;
     442    line-height: 1;
     443    font-weight: 400;
     444    font-style: normal;
     445    width: 22px;
     446    height: 22px;
     447    font-size: 22px;
     448    vertical-align: top;
     449    text-align: center;
     450}
    443451
    444452.rtl .getwooplugins-admin-form-table .is-pro th .pro-modal,
    445453.rtl .getwooplugins-admin-form-table .help-preview th .help-modal {
    446     right : auto;
    447     left  : 0;
    448     }
     454    right: auto;
     455    left: 0;
     456}
    449457
    450458
    451459.getwooplugins-admin-form-table .woocommerce-help-tip::after {
    452     content : "\f348";
     460    content: "\f348";
    453461    /*content : "\f14c";*/
    454462    /*content : "\f348";*/
    455     }
     463}
    456464
    457465.getwooplugins-admin-form-table .is-pro th .pro-modal {
    458     color : #D63639;
    459     }
     466    color: #D63639;
     467}
    460468
    461469.getwooplugins-admin-form-table .help-preview th .help-modal {
    462     color : #666666;
    463     }
     470    color: #666666;
     471}
    464472
    465473.getwooplugins-admin-form-table .is-pro th .pro-modal::after {
    466     content : "\f160";
    467     cursor  : pointer;
    468     }
     474    content: "\f160";
     475    cursor: pointer;
     476}
    469477
    470478.getwooplugins-admin-form-table .help-preview th .help-modal::after {
    471     content : "\f223";
    472     cursor  : pointer;
     479    content: "\f223";
     480    cursor: pointer;
    473481    /*content : "\f504";*/
    474     }
     482}
    475483
    476484
    477485.getwooplugins-admin-form-table .help-preview.has-tooltip-html th .help-modal {
    478     right : 18px;
    479     top   : 18px;
    480     }
     486    right: 18px;
     487    top: 18px;
     488}
    481489
    482490
    483491.getwooplugins-admin-form-table .is-new th label::after {
    484     content    : 'NEW';
    485     background : #2196F3;
    486     }
     492    content: 'NEW';
     493    background: #2196F3;
     494}
    487495
    488496.getwooplugins-admin-form-table .is-classic th label::after {
    489     content    : 'Classic';
    490     background : #666666;
    491     }
     497    content: 'Classic';
     498    background: #666666;
     499}
    492500
    493501/*.getwooplugins-admin-form-table .is-new.help-preview th label::after {
     
    501509
    502510.form-table.getwooplugins-admin-form-table th {
    503     width : 250px;
    504     }
     511    width: 250px;
     512}
    505513
    506514/**
     
    509517
    510518.gwp-backbone-modal * {
    511     box-sizing : border-box;
    512     }
     519    box-sizing: border-box;
     520}
    513521
    514522.gwp-backbone-modal .gwp-backbone-modal-content {
    515     position   : fixed;
    516     background : #FFFFFF;
    517     z-index    : 100000;
    518     left       : 50%;
    519     top        : 50%;
    520     transform  : translate(-50%, -50%);
    521     max-width  : 100%;
    522     min-width  : 300px;
    523     }
     523    position: fixed;
     524    background: #FFFFFF;
     525    z-index: 100000;
     526    left: 50%;
     527    top: 50%;
     528    transform: translate(-50%, -50%);
     529    max-width: 100%;
     530    min-width: 300px;
     531}
    524532
    525533.gwp-backbone-modal .gwp-backbone-modal-content article {
    526     overflow : visible;
    527     }
     534    overflow: visible;
     535}
    528536
    529537.gwp-backbone-modal .gwp-backbone-modal-content article video {
    530538    /* override other styles to make responsive */
    531     width   : 100% !important;
    532     height  : auto !important;
    533     display : block;
     539    width: 100% !important;
     540    height: auto !important;
     541    display: block;
     542}
     543
     544.gwp-backbone-modal .gwp-backbone-modal-content article .video-wrapper {
     545    position: relative;
     546    padding-bottom: 56.25%; /* 16:9 */
     547    height: 0;
     548}
     549
     550.gwp-backbone-modal .gwp-backbone-modal-content article .video-wrapper iframe {
     551    position: absolute;
     552    top: 0;
     553    left: 0;
     554    width: 100%;
     555    height: 100%;
     556}
     557
     558.gwp-backbone-modal .gwp-backbone-modal-content {
     559    width: 40%;
     560}
     561
     562.gwp-backbone-modal .gwp-dialog-form-body h2 {
     563    font-weight: 700;
     564    font-size: 15px;
     565    color: #495157;
     566    margin: 0 0 20px 0;
     567}
     568
     569.gwp-backbone-modal footer {
     570    margin-top: 30px;
     571    overflow: hidden;
     572    clear: both;
     573}
     574
     575
     576@media screen and (max-width: 782px) {
     577    .gwp-backbone-modal .gwp-backbone-modal-content {
     578        width: 100%;
     579        height: 100%;
     580        min-width: 100%;
    534581    }
    535 
    536 .gwp-backbone-modal .gwp-backbone-modal-content article .video-wrapper {
    537     position       : relative;
    538     padding-bottom : 56.25%; /* 16:9 */
    539     height         : 0;
    540     }
    541 
    542 .gwp-backbone-modal .gwp-backbone-modal-content article .video-wrapper iframe {
    543     position : absolute;
    544     top      : 0;
    545     left     : 0;
    546     width    : 100%;
    547     height   : 100%;
    548     }
    549 
    550 .gwp-backbone-modal .gwp-backbone-modal-content {
    551     width : 40%;
    552     }
    553 
    554 .gwp-backbone-modal .gwp-dialog-form-body h2 {
    555     font-weight : 700;
    556     font-size   : 15px;
    557     color       : #495157;
    558     margin      : 0 0 20px 0;
    559     }
    560 
    561 .gwp-backbone-modal footer {
    562     margin-top : 30px;
    563     overflow   : hidden;
    564     clear      : both;
    565     }
    566 
    567 
    568 @media screen and (max-width : 782px) {
    569     .gwp-backbone-modal .gwp-backbone-modal-content {
    570         width     : 100%;
    571         height    : 100%;
    572         min-width : 100%;
    573         }
    574     }
     582}
    575583
    576584.gwp-backbone-modal-backdrop {
    577     position   : fixed;
    578     top        : 0;
    579     left       : 0;
    580     right      : 0;
    581     bottom     : 0;
    582     min-height : 360px;
    583     background : #000000;
    584     opacity    : 0.7;
    585     z-index    : 99900;
    586     }
     585    position: fixed;
     586    top: 0;
     587    left: 0;
     588    right: 0;
     589    bottom: 0;
     590    min-height: 360px;
     591    background: #000000;
     592    opacity: 0.7;
     593    z-index: 99900;
     594}
    587595
    588596.gwp-backbone-modal-main {
    589     padding-bottom : 55px;
    590     }
     597    padding-bottom: 55px;
     598}
    591599
    592600.gwp-backbone-modal-main header,
    593601.gwp-backbone-modal-main article {
    594     display  : block;
    595     position : relative;
    596     }
     602    display: block;
     603    position: relative;
     604}
    597605
    598606.gwp-backbone-modal-main .gwp-backbone-modal-header {
    599     height        : auto;
    600     background    : #FCFCFC;
    601     padding       : 1em 1.5em;
    602     border-bottom : 1px solid #DDDDDD;
    603     }
     607    height: auto;
     608    background: #FCFCFC;
     609    padding: 1em 1.5em;
     610    border-bottom: 1px solid #DDDDDD;
     611}
    604612
    605613.gwp-backbone-modal-main .gwp-backbone-modal-header h1 {
    606     margin         : 0;
    607     color          : #495157;
    608     font-weight    : 700;
    609     font-size      : 14px;
    610     background     : transparent;
    611     line-height    : 2em;
    612     text-transform : uppercase;
    613     border         : 0;
    614     }
     614    margin: 0;
     615    color: #495157;
     616    font-weight: 700;
     617    font-size: 14px;
     618    background: transparent;
     619    line-height: 2em;
     620    text-transform: uppercase;
     621    border: 0;
     622}
    615623
    616624.gwp-backbone-modal-main .gwp-backbone-modal-header .modal-close-link {
    617     cursor           : pointer;
    618     color            : #777777;
    619     height           : 54px;
    620     width            : 54px;
    621     padding          : 0;
    622     position         : absolute;
    623     top              : 0;
    624     right            : 0;
    625     text-align       : center;
    626     border           : 0;
    627     border-left      : 1px solid #DDDDDD;
    628     background-color : transparent;
    629     transition       : color 0.1s ease-in-out, background 0.1s ease-in-out;
    630     }
     625    cursor: pointer;
     626    color: #777777;
     627    height: 54px;
     628    width: 54px;
     629    padding: 0;
     630    position: absolute;
     631    top: 0;
     632    right: 0;
     633    text-align: center;
     634    border: 0;
     635    border-left: 1px solid #DDDDDD;
     636    background-color: transparent;
     637    transition: color 0.1s ease-in-out, background 0.1s ease-in-out;
     638}
    631639
    632640.rtl .gwp-backbone-modal-main .gwp-backbone-modal-header .modal-close-link {
    633     right        : auto;
    634     left         : 0;
    635     border-right : 1px solid #DDDDDD;
    636     }
     641    right: auto;
     642    left: 0;
     643    border-right: 1px solid #DDDDDD;
     644}
    637645
    638646.gwp-backbone-modal-main .gwp-backbone-modal-header .modal-close-link::before {
    639     font        : normal 22px/50px "dashicons" !important;
    640     color       : #666666;
    641     display     : block;
    642     content     : "\F335";
    643     font-weight : 300;
    644     }
     647    font: normal 22px/50px "dashicons" !important;
     648    color: #666666;
     649    display: block;
     650    content: "\F335";
     651    font-weight: 300;
     652}
    645653
    646654.gwp-backbone-modal-main .gwp-backbone-modal-header .modal-close-link:hover,
    647655.gwp-backbone-modal-main .gwp-backbone-modal-header .modal-close-link:focus {
    648     background   : #DDDDDD;
    649     border-color : #CCCCCC;
    650     color        : #000000;
    651     }
     656    background: #DDDDDD;
     657    border-color: #CCCCCC;
     658    color: #000000;
     659}
    652660
    653661.gwp-backbone-modal-main .gwp-backbone-modal-header .modal-close-link:focus {
    654     outline : none;
    655     }
     662    outline: none;
     663}
    656664
    657665.gwp-backbone-modal-main article {
    658     padding : 0;
    659     margin  : 0;
    660     }
     666    padding: 0;
     667    margin: 0;
     668}
    661669
    662670.gwp-backbone-modal-main article p {
    663     margin : 1.5em 0;
    664     }
     671    margin: 1.5em 0;
     672}
    665673
    666674.gwp-backbone-modal-main article p:first-child {
    667     margin-top : 0;
    668     }
     675    margin-top: 0;
     676}
    669677
    670678.gwp-backbone-modal-main article p:last-child {
    671     margin-bottom : 0;
    672     }
     679    margin-bottom: 0;
     680}
    673681
    674682.gwp-backbone-modal-main article .pagination {
    675     padding    : 10px 0 0;
    676     text-align : center;
    677     }
     683    padding: 10px 0 0;
     684    text-align: center;
     685}
    678686
    679687.gwp-backbone-modal-main article table.widefat {
    680     margin     : 0;
    681     width      : 100%;
    682     border     : 0;
    683     box-shadow : none;
    684     }
     688    margin: 0;
     689    width: 100%;
     690    border: 0;
     691    box-shadow: none;
     692}
    685693
    686694.gwp-backbone-modal-main article table.widefat thead th {
    687     padding    : 0 1em 1em 1em;
    688     text-align : left;
    689     }
     695    padding: 0 1em 1em 1em;
     696    text-align: left;
     697}
    690698
    691699.gwp-backbone-modal-main article table.widefat thead th:first-child {
    692     padding-left : 0;
    693     }
     700    padding-left: 0;
     701}
    694702
    695703.gwp-backbone-modal-main article table.widefat thead th:last-child {
    696     padding-right : 0;
    697     text-align    : right;
    698     }
     704    padding-right: 0;
     705    text-align: right;
     706}
    699707
    700708.gwp-backbone-modal-main article table.widefat tbody td,
    701709.gwp-backbone-modal-main article table.widefat tbody th {
    702     padding        : 1em;
    703     text-align     : left;
    704     vertical-align : middle;
    705     }
     710    padding: 1em;
     711    text-align: left;
     712    vertical-align: middle;
     713}
    706714
    707715.gwp-backbone-modal-main article table.widefat tbody td:first-child,
    708716.gwp-backbone-modal-main article table.widefat tbody th:first-child {
    709     padding-left : 0;
    710     }
     717    padding-left: 0;
     718}
    711719
    712720.gwp-backbone-modal-main article table.widefat tbody td:last-child,
    713721.gwp-backbone-modal-main article table.widefat tbody th:last-child {
    714     padding-right : 0;
    715     text-align    : right;
    716     }
     722    padding-right: 0;
     723    text-align: right;
     724}
    717725
    718726.gwp-backbone-modal-main article table.widefat tbody td select,
     
    720728.gwp-backbone-modal-main article table.widefat tbody th select,
    721729.gwp-backbone-modal-main article table.widefat tbody th .select2-container {
    722     width : 100%;
    723     }
     730    width: 100%;
     731}
    724732
    725733.gwp-backbone-modal-main footer {
    726     position   : absolute;
    727     left       : 0;
    728     right      : 0;
    729     bottom     : 0;
    730     z-index    : 100;
    731     padding    : 1em 1.5em;
    732     background : #FCFCFC;
    733     border-top : 1px solid #DFDFDF;
    734     box-shadow : 0 -4px 4px -4px rgba(0, 0, 0, 0.1);
    735     }
     734    position: absolute;
     735    left: 0;
     736    right: 0;
     737    bottom: 0;
     738    z-index: 100;
     739    padding: 1em 1.5em;
     740    background: #FCFCFC;
     741    border-top: 1px solid #DFDFDF;
     742    box-shadow: 0 -4px 4px -4px rgba(0, 0, 0, 0.1);
     743}
    736744
    737745.gwp-backbone-modal-main footer .inner {
    738     text-align  : right;
    739     line-height : 23px;
    740     }
     746    text-align: right;
     747    line-height: 23px;
     748}
    741749
    742750.rtl .gwp-backbone-modal-main footer .inner {
    743     text-align : left;
    744     }
     751    text-align: left;
     752}
    745753
    746754.gwp-backbone-modal-main footer .inner .button {
    747     margin-bottom : 0;
    748     }
     755    margin-bottom: 0;
     756}
    749757
    750758.gwp-backbone-modal-main footer .inner .gwp-action-button-group {
    751     display : inline-block;
    752     float   : left;
    753     }
     759    display: inline-block;
     760    float: left;
     761}
    754762
    755763.rtl .gwp-backbone-modal-main footer .inner .gwp-action-button-group {
    756     float : right;
    757     }
     764    float: right;
     765}
    758766
    759767.gwp-backbone-modal-main footer .inner .button.button-large {
    760     margin-left : 10px;
    761     padding     : 0 10px !important;
    762     line-height : 28px;
    763     height      : auto;
    764     display     : inline-block;
    765     }
     768    margin-left: 10px;
     769    padding: 0 10px !important;
     770    line-height: 28px;
     771    height: auto;
     772    display: inline-block;
     773}
    766774
    767775.rtl .gwp-backbone-modal-main footer .inner .button.button-large {
    768     margin-right : 10px;
    769     }
     776    margin-right: 10px;
     777}
    770778
    771779/** FEEDBACK */
    772780.gwp-backbone-modal.gwp-deactive-feedback-dialog article {
    773     padding  : 1.5em;
    774     overflow : auto;
    775     }
     781    padding: 1.5em;
     782    overflow: auto;
     783}
    776784
    777785.gwp-backbone-modal .gwp-feedback-dialog-form-body h2 {
    778     font-weight : 700;
    779     font-size   : 15px;
    780     color       : #495157;
    781     margin      : 0 0 20px 0;
    782     }
     786    font-weight: 700;
     787    font-size: 15px;
     788    color: #495157;
     789    margin: 0 0 20px 0;
     790}
    783791
    784792.gwp-backbone-modal .gwp-feedback-dialog-form-body .feedback-dialog-form-body .feedback-dialog-input-wrapper {
    785     line-height   : 1.3;
    786     overflow      : hidden;
    787     margin-bottom : 15px;
    788     }
     793    line-height: 1.3;
     794    overflow: hidden;
     795    margin-bottom: 15px;
     796}
    789797
    790798.gwp-backbone-modal .gwp-feedback-dialog-form-body .feedback-dialog-form-body .feedback-dialog-input {
    791     float      : left;
    792     margin     : 0 10px 0 0;
    793     box-shadow : none;
    794     }
     799    float: left;
     800    margin: 0 10px 0 0;
     801    box-shadow: none;
     802}
    795803
    796804.rtl .gwp-backbone-modal .gwp-feedback-dialog-form-body .feedback-dialog-form-body .feedback-dialog-input {
    797     float  : right;
    798     margin : 0 0 0 10px;
    799     }
     805    float: right;
     806    margin: 0 0 0 10px;
     807}
    800808
    801809.gwp-backbone-modal .gwp-feedback-dialog-form-body .feedback-dialog-form-body .feedback-text {
    802     margin           : 10px 0 0 25px;
    803     padding          : 5px;
    804     font-size        : 13px;
    805     box-shadow       : none;
    806     background-color : #FFFFFF;
    807     width            : 92%;
    808     display          : none;
    809     }
     810    margin: 10px 0 0 25px;
     811    padding: 5px;
     812    font-size: 13px;
     813    box-shadow: none;
     814    background-color: #FFFFFF;
     815    width: 92%;
     816    display: none;
     817}
    810818
    811819.rtl .gwp-backbone-modal .gwp-feedback-dialog-form-body .feedback-dialog-form-body .feedback-text {
    812     margin : 10px 25px 0 0;
    813     }
     820    margin: 10px 25px 0 0;
     821}
    814822
    815823.gwp-backbone-modal .gwp-feedback-dialog-form-body .feedback-dialog-form-body .feedback-alert {
    816     color            : #0273A9;
    817     background-color : #FFFFFF;
    818     font-weight      : 600;
    819     }
     824    color: #0273A9;
     825    background-color: #FFFFFF;
     826    font-weight: 600;
     827}
    820828
    821829.gwp-backbone-modal .gwp-feedback-dialog-form-body .feedback-dialog-form-body .feedback-dialog-label {
    822     display   : block;
    823     font-size : 13px;
    824     color     : #6D7882;
    825     }
     830    display: block;
     831    font-size: 13px;
     832    color: #6D7882;
     833}
    826834
    827835.gwp-backbone-modal footer {
    828     margin-top : 30px;
    829     overflow   : hidden;
    830     clear      : both;
    831     }
     836    margin-top: 30px;
     837    overflow: hidden;
     838    clear: both;
     839}
    832840
    833841.gwp-backbone-modal footer .feedback-dialog-form-button-send {
    834     background-color : #56BFD4;
    835     border-radius    : 3px;
    836     color            : #FFFFFF;
    837     line-height      : 1;
    838     padding          : 12px 20px;
    839     font-size        : 13px;
    840     height           : 40px;
    841     border           : 0;
    842     box-shadow       : none;
    843     text-shadow      : none;
    844     float            : left;
    845     }
     842    background-color: #56BFD4;
     843    border-radius: 3px;
     844    color: #FFFFFF;
     845    line-height: 1;
     846    padding: 12px 20px;
     847    font-size: 13px;
     848    height: 40px;
     849    border: 0;
     850    box-shadow: none;
     851    text-shadow: none;
     852    float: left;
     853}
    846854
    847855.rtl .gwp-backbone-modal footer .feedback-dialog-form-button-send {
    848     float : right;
    849     }
     856    float: right;
     857}
    850858
    851859.gwp-backbone-modal footer .feedback-dialog-form-button-send:hover {
    852     background : #389DB1;
    853     }
     860    background: #389DB1;
     861}
    854862
    855863.gwp-backbone-modal footer .feedback-dialog-form-button-send:active {
    856     -webkit-transform : translateY(0);
    857     transform         : translateY(0);
    858     }
     864    -webkit-transform: translateY(0);
     865    transform: translateY(0);
     866}
    859867
    860868.gwp-backbone-modal footer .feedback-dialog-form-button-skip {
    861     font-size       : 12px;
    862     color           : #A4AFB7;
    863     background      : none;
    864     float           : right;
    865     width           : auto;
    866     cursor          : pointer;
    867     padding         : 10px 0;
    868     outline         : 0;
    869     text-decoration : none;
    870     }
     869    font-size: 12px;
     870    color: #A4AFB7;
     871    background: none;
     872    float: right;
     873    width: auto;
     874    cursor: pointer;
     875    padding: 10px 0;
     876    outline: 0;
     877    text-decoration: none;
     878}
    871879
    872880.rtl .gwp-backbone-modal footer .feedback-dialog-form-button-skip {
    873     float : left;
    874     }
     881    float: left;
     882}
    875883
    876884.gwp-backbone-modal footer .feedback-dialog-form-button-skip:focus {
    877     box-shadow : none;
    878     }
     885    box-shadow: none;
     886}
    879887
    880888.gwp-backbone-modal footer .feedback-dialog-form-button-skip:hover {
    881     text-decoration : underline;
    882     }
     889    text-decoration: underline;
     890}
    883891
    884892.gwp-action-button-group .spinner {
    885     margin : 10px;
    886     }
     893    margin: 10px;
     894}
    887895
    888896.gwp-action-button-group .spinner.visible {
    889     visibility : visible;
    890     }
     897    visibility: visible;
     898}
  • woo-variation-gallery/trunk/includes/getwooplugins/js/getwooplugins-form-field-dependency.js

    r2764045 r3241282  
    2020
    2121            DEFAULTS = {
    22                 attribute : 'data-gwp_dependency',
    23             }
    24 
    25             constructor(element, options, name) {
    26                 this.name     = name
     22                attribute: 'data-gwp_dependency',
     23            }
     24
     25            constructor (element, options, name) {
     26                this.name = name
    2727                this.$element = $(element)
    2828                this.settings = $.extend(true, {}, this.DEFAULTS, options)
    29                 this.init();
    30                 this.action();
    31             }
    32 
    33             init() {
    34                 this.$element.addClass('has-dependency-data');
     29                this.init()
     30                this.action()
     31            }
     32
     33            init () {
     34                this.$element.addClass('has-dependency-data')
    3535
    3636                let attribute = this.settings.attribute.trim()
     
    3838                let conditionString = this.$element.attr(attribute).replace(/'/g, '"')
    3939
    40                 this.conditions = JSON.parse(conditionString);
    41 
    42                 let success = this.check();
    43                 this.showHide(success);
    44             }
    45 
    46             showHide(success) {
     40                this.conditions = JSON.parse(conditionString)
     41
     42                let success = this.check()
     43                this.showHide(success)
     44            }
     45
     46            showHide (success) {
    4747                if (success) {
     48                    this.$element.removeAttr('inert')
     49
    4850                    this.$element.removeClass('dependency-show').addClass('dependency-show')
    49                     return true;
    50                 }
    51                 else {
     51                    return true
     52                } else {
     53                    this.$element.attr('inert', '')
    5254                    this.$element.removeClass('dependency-show')
    53                     return false;
    54                 }
    55             }
    56 
    57             check() {
     55                    return false
     56                }
     57            }
     58
     59            check () {
    5860                return this.conditions.every((conditionObj) => {
    5961
    60                     let selectors = Object.keys(conditionObj);
     62                    let selectors = Object.keys(conditionObj)
    6163
    6264                    return selectors.every((selector) => {
    6365
    64                         let condition = conditionObj[selector];
     66                        let condition = conditionObj[selector]
    6567
    6668                        return this.decision(selector, condition)
     
    6971            }
    7072
    71             action() {
     73            action () {
    7274                this.conditions.forEach((rules) => {
    7375
     
    7577                        // @TODO: Some SelectBox like select2 doesn't trigger input event
    7678                        $(document.body).on('input.dependency change.dependency', selector, (event) => {
    77                             let success = this.check();
    78                             this.showHide(success);
     79                            let success = this.check()
     80                            this.showHide(success)
    7981                        })
    8082                    }
     
    8284            }
    8385
    84             getValue(selector) {
     86            getValue (selector) {
    8587
    8688                let values = []
     
    9092                    let inputType = $(selector).prop('type').toLowerCase()
    9193
    92                     let currentSelector = selector;
     94                    let currentSelector = selector
    9395
    9496                    if (['checkbox', 'radio'].includes(inputType)) {
     
    101103
    102104                    $(currentSelector).each((index, element) => {
    103                         let value = $(element).val().trim();
     105                        let value = $(element).val().trim()
    104106                        values.push(value)
    105107                    })
    106108                }
    107109
    108                 return values.filter(value => value !== '');
    109             }
    110 
    111             decision(selector, condition) {
    112 
    113                 let type         = condition['type'];
     110                return values.filter(value => value !== '')
     111            }
     112
     113            decision (selector, condition) {
     114
     115                let type = condition['type']
    114116                let currentValue = this.getValue(selector)
    115117
    116                 let checkValue = (typeof condition['value'] === 'undefined') ? false : condition['value'];
    117 
    118                 let minValue = (typeof condition['min'] === 'undefined') ? false : parseInt(condition['min']);
    119                 let maxValue = (typeof condition['max'] === 'undefined') ? false : parseInt(condition['max']);
    120 
    121                 let allowEmpty = (typeof condition['empty'] === 'undefined') ? false : condition['empty'];
    122                 let isEmpty    = (!allowEmpty && currentValue.length < 1)
    123 
    124                 let likeSelector      = (typeof condition['like'] === 'undefined') ? false : condition['like'];
     118                let checkValue = (typeof condition['value'] === 'undefined') ? false : condition['value']
     119
     120                let minValue = (typeof condition['min'] === 'undefined') ? false : parseInt(condition['min'])
     121                let maxValue = (typeof condition['max'] === 'undefined') ? false : parseInt(condition['max'])
     122
     123                let allowEmpty = (typeof condition['empty'] === 'undefined') ? false : condition['empty']
     124                let isEmpty = (!allowEmpty && currentValue.length < 1)
     125
     126                let likeSelector = (typeof condition['like'] === 'undefined') ? false : condition['like']
    125127                let likeSelectorValue = this.getValue(likeSelector)
    126128
    127                 let regExpPattern  = (typeof condition['pattern'] === 'undefined') ? false : condition['pattern'];
    128                 let regExpModifier = (typeof condition['modifier'] === 'undefined') ? 'gi' : condition['modifier'];
    129                 let sign           = (typeof condition['sign'] === 'undefined') ? false : condition['sign'];
    130                 let strict         = (typeof condition['strict'] === 'undefined') ? false : condition['strict'];
    131 
    132                 let emptyTypes    = ['empty', 'blank']
     129                let regExpPattern = (typeof condition['pattern'] === 'undefined') ? false : condition['pattern']
     130                let regExpModifier = (typeof condition['modifier'] === 'undefined') ? 'gi' : condition['modifier']
     131                let sign = (typeof condition['sign'] === 'undefined') ? false : condition['sign']
     132                let strict = (typeof condition['strict'] === 'undefined') ? false : condition['strict']
     133
     134                let emptyTypes = ['empty', 'blank']
    133135                let notEmptyTypes = ['!empty', 'notEmpty', 'not-empty', 'notempty']
    134136
    135                 let equalTypes    = ['equal', '=', '==', '===']
     137                let equalTypes = ['equal', '=', '==', '===']
    136138                let notEqualTypes = ['!equal', '!=', '!==', '!===', 'notEqual', 'not-equal', 'notequal']
    137139
     
    140142                // if empty return true
    141143                if (emptyTypes.includes(type)) {
    142                     return (currentValue.length < 1);
     144                    return (currentValue.length < 1)
    143145                }
    144146
     
    162164                                return currentValue.includes(value)
    163165                            })
    164                         }
    165                         else {
     166                        } else {
    166167                            return likeSelectorValue.some((value) => {
    167168                                return currentValue.includes(value)
     
    175176                        if (checkValue && Array.isArray(checkValue)) {
    176177                            return checkValue.every((value) => {
    177                                 return currentValue.includes(value);
     178                                return currentValue.includes(value)
    178179                            })
    179180                        }
    180181
    181182                        if (checkValue && !Array.isArray(checkValue)) {
    182                             return currentValue.includes(checkValue);
    183                         }
    184                     }
    185 
    186                     else {
     183                            return currentValue.includes(checkValue)
     184                        }
     185                    } else {
    187186
    188187                        if (checkValue && Array.isArray(checkValue)) {
    189188                            return checkValue.some((value) => {
    190                                 return currentValue.includes(value);
     189                                return currentValue.includes(value)
    191190                            })
    192191                        }
     
    195194
    196195                            /*return currentValue.find(value => {
    197                                 return value.toLowerCase() === checkValue.toLowerCase();
     196                              return value.toLowerCase() === checkValue.toLowerCase();
    198197                            });*/
    199198
    200                             return currentValue.includes(checkValue);
     199                            return currentValue.includes(checkValue)
    201200                        }
    202201                    }
     
    217216                                return !currentValue.includes(value)
    218217                            })
    219                         }
    220                         else {
     218                        } else {
    221219                            return likeSelectorValue.some((value) => {
    222220                                return !currentValue.includes(value)
     
    230228                        if (checkValue && Array.isArray(checkValue)) {
    231229                            return checkValue.every((value) => {
    232                                 return !currentValue.includes(value);
     230                                return !currentValue.includes(value)
    233231                            })
    234232                        }
    235233
    236234                        if (checkValue && !Array.isArray(checkValue)) {
    237                             return !currentValue.includes(checkValue);
    238                         }
    239 
    240                     }
    241                     else {
     235                            return !currentValue.includes(checkValue)
     236                        }
     237
     238                    } else {
    242239
    243240                        if (checkValue && Array.isArray(checkValue)) {
    244241                            return checkValue.some((value) => {
    245                                 return !currentValue.includes(value);
     242                                return !currentValue.includes(value)
    246243                            })
    247244                        }
    248245
    249246                        if (checkValue && !Array.isArray(checkValue)) {
    250                             return !currentValue.includes(checkValue);
     247                            return !currentValue.includes(checkValue)
    251248                        }
    252249                    }
     
    274271
    275272                    if (checkValue && Array.isArray(checkValue)) {
    276                         minValue = parseInt(checkValue[0]);
    277                         maxValue = (typeof checkValue[1] === 'undefined') ? false : parseInt(checkValue[1]);
     273                        minValue = parseInt(checkValue[0])
     274                        maxValue = (typeof checkValue[1] === 'undefined') ? false : parseInt(checkValue[1])
    278275                    }
    279276
    280277                    if (checkValue && !Array.isArray(checkValue)) {
    281                         minValue = parseInt(checkValue);
    282                         maxValue = false;
     278                        minValue = parseInt(checkValue)
     279                        maxValue = false
    283280                    }
    284281
    285282                    return currentValue.every((value) => {
    286283                        if (!maxValue) {
    287                             return value.length >= minValue;
     284                            return value.length >= minValue
    288285                        }
    289286
    290287                        if (!minValue) {
    291                             return value.length <= maxValue;
    292                         }
    293 
    294                         return value.length >= minValue && value.length <= maxValue;
     288                            return value.length <= maxValue
     289                        }
     290
     291                        return value.length >= minValue && value.length <= maxValue
    295292
    296293                    })
     
    305302
    306303                    if (checkValue && Array.isArray(checkValue)) {
    307                         minValue = parseInt(checkValue[0]);
    308                         maxValue = (typeof checkValue[1] === 'undefined') ? false : parseInt(checkValue[1]);
     304                        minValue = parseInt(checkValue[0])
     305                        maxValue = (typeof checkValue[1] === 'undefined') ? false : parseInt(checkValue[1])
    309306                    }
    310307
    311308                    return currentValue.every((value) => {
    312309                        if (!maxValue) {
    313                             return parseInt(value) > minValue;
     310                            return parseInt(value) > minValue
    314311                        }
    315312
    316313                        if (!minValue) {
    317                             return parseInt(value) < maxValue;
    318                         }
    319 
    320                         return parseInt(value) > minValue && parseInt(value) < maxValue;
     314                            return parseInt(value) < maxValue
     315                        }
     316
     317                        return parseInt(value) > minValue && parseInt(value) < maxValue
    321318
    322319                    })
     
    335332                        case '<':
    336333                            return currentValue.every((value) => {
    337                                 return parseInt(value) < checkValue;
    338                             })
    339                             break;
     334                                return parseInt(value) < checkValue
     335                            })
     336                            break
    340337
    341338                        case '<=':
    342339                            return currentValue.every((value) => {
    343                                 return parseInt(value) <= checkValue;
    344                             })
    345                             break;
     340                                return parseInt(value) <= checkValue
     341                            })
     342                            break
    346343
    347344                        case '>':
    348345                            return currentValue.every((value) => {
    349                                 return parseInt(value) > checkValue;
    350                             })
    351                             break;
     346                                return parseInt(value) > checkValue
     347                            })
     348                            break
    352349
    353350                        case '>=':
    354351                            return currentValue.every((value) => {
    355                                 return parseInt(value) >= checkValue;
    356                             })
    357                             break;
     352                                return parseInt(value) >= checkValue
     353                            })
     354                            break
    358355
    359356                        case '=':
    360357                        case '==':
    361358                            return currentValue.every((value) => {
    362                                 return parseInt(value) === checkValue;
    363                             })
    364                             break;
     359                                return parseInt(value) === checkValue
     360                            })
     361                            break
    365362                    }
    366363
     
    371368            }
    372369
    373             destroy() {
     370            destroy () {
    374371                this.$element.removeData(this.name)
    375372            }
     
    386383
    387384                    let $element = $(element)
    388                     let data     = $element.data(PluginName)
     385                    let data = $element.data(PluginName)
    389386
    390387                    if (!data) {
     
    422419    jQueryPlugin('GWPFormFieldDependency', Plugin)
    423420
    424 })(window);
     421})(window)
  • woo-variation-gallery/trunk/languages/woo-variation-gallery.pot

    r3206313 r3241282  
    1 # Copyright (C) 2024 Variation Gallery for WooCommerce
     1# Copyright (C) 2025 Variation Gallery for WooCommerce
    22# This file is distributed under the same license as the Variation Gallery for WooCommerce package.
    33msgid ""
     
    88"Content-Transfer-Encoding: 8bit\n"
    99"Language-Team: Emran Ahmed <emran.bd.08@gmail.com>\n"
    10 "POT-Creation-Date: 2024-12-11 11:52+0000\n"
     10"POT-Creation-Date: 2025-02-16 12:20+0000\n"
    1111"X-Poedit-Basepath: ..\n"
    1212"X-Poedit-KeywordsList: __;_e;_ex:1,2c;_n:1,2;_n_noop:1,2;_nx:1,2,4c;_nx_noop:1,2,3c;_x:1,2c;esc_attr__;esc_attr_e;esc_attr_x:1,2c;esc_html__;esc_html_e;esc_html_x:1,2c\n"
  • woo-variation-gallery/trunk/woo-variation-gallery.php

    r3206313 r3241282  
    55 * Description: Allows inserting multiple images for per variation to let visitors see a different images when WooCommerce product variations are switched.
    66 * Author: Emran Ahmed
    7  * Version: 1.3.26
     7 * Version: 1.3.27
    88 * Domain Path: /languages
    99 * Requires PHP: 7.4
     
    1111 * Tested up to: 6.7
    1212 * WC requires at least: 5.8
    13  * WC tested up to: 9.4
     13 * WC tested up to: 9.6
    1414 * Requires Plugins: woocommerce
    1515 * Text Domain: woo-variation-gallery
     
    2424
    2525if ( ! defined( 'WOO_VARIATION_GALLERY_PLUGIN_VERSION' ) ) {
    26     define( 'WOO_VARIATION_GALLERY_PLUGIN_VERSION', '1.3.26' );
     26    define( 'WOO_VARIATION_GALLERY_PLUGIN_VERSION', '1.3.27' );
    2727}
    2828
Note: See TracChangeset for help on using the changeset viewer.