diff options
| author | Daniel Schmitzer <noreply@maennchen1.de> | 2023-04-20 14:45:15 +0000 |
|---|---|---|
| committer | Daniel Schmitzer <noreply@maennchen1.de> | 2023-04-20 14:45:15 +0000 |
| commit | 7431066f4b2e86bc3a0d6e0a099897c3a45a0dcc (patch) | |
| tree | 345390b49803e1128f2fb852fe87a539ec478ad7 /views/mods | |
| parent | 0fba698cdbb7c069e3042dabbdbfd7513e689daa (diff) | |
- Preview
git-svn-id: https://[internal]/wordpress/plugins/wpsg4@8277 0d5edaf7-2b12-4e95-93f4-047927463d4b
Diffstat (limited to 'views/mods')
| -rw-r--r-- | views/mods/mod_productvariants/produkt_addedit_content_combination.phtml | 78 |
1 files changed, 66 insertions, 12 deletions
diff --git a/views/mods/mod_productvariants/produkt_addedit_content_combination.phtml b/views/mods/mod_productvariants/produkt_addedit_content_combination.phtml index 846e778..10566f7 100644 --- a/views/mods/mod_productvariants/produkt_addedit_content_combination.phtml +++ b/views/mods/mod_productvariants/produkt_addedit_content_combination.phtml @@ -63,19 +63,40 @@ </select> </div> </div> - <div class="panel panel-default" v-for="(combination, i) of arPossibleKeysFiltered"> - <div class="panel-heading clearfix"> - <h3 class="panel-title"> - {{combination.label}} - <span v-if="combination.id > 0" class="glyphicon glyphicon-pencil" @click.prevent="edit(combination.var_key)"></span> - <span v-else class="glyphicon glyphicon-plus" @click.prevent="add(combination.var_key)"></span> - </h3> - </div> - <div class="panel-body" v-if="combination.loaded"> - <pre>{{combination}}</pre> + <div v-for="(combination, i) of arPossibleKeysFiltered" class="relative"> + <div class="panel panel-default"> + <div class="panel-heading clearfix"> + <h3 class="panel-title"> + {{combination.label}} + <span v-if="combination.id > 0" class="glyphicon glyphicon-pencil" @click.prevent="edit(combination.var_key)"></span> + <span v-else class="glyphicon glyphicon-plus" @click.prevent="add(combination.var_key)"></span> + </h3> + </div> + <div class="panel-body" v-if="combination.loaded"> + + <div v-if="combination.loading" class="loading_layer"> + <img class="loading" src="<?php echo WPSG_URL; ?>views/gfx/ajax-loader.gif" alt="<?php echo __('Bitte warten ...', 'wpsg'); ?>" /> + </div> + + <div class="form-group form-group-sm "> + <label class="col-sm-6 control-label" for="detailname">Artikelnummer</label> + <div class="col-sm-6"> + <div class="wpsg_field_wrap"> + <input type="text" class="form-control input-sm " autocomplete="off" placeholder="" v-model="combination.anr"> + </div> + </div> + <div class="clearfix wpsg_clear"></div> + </div> + + <div class="mt-8 flex w-full justify-end"> + <input type="submit" @click.prevent="save(combination)" class="button button-primary" value="speichern" /> + </div> + + <pre class="mt-8">{{combination}}</pre> + + </div> </div> </div> - <pre>{{arPossibleKeysFiltered}}</pre> </div> <script src="<?php echo WPSG_URL_CONTENT.'plugins/'.WPSG_FOLDERNAME.'/views/js/vue-3.2.47.global.min.js'; ?>"></script> @@ -177,6 +198,31 @@ request.send(JSON.stringify(data)); }; + const save = (combination) => { + + xhr('save', { + var_key: combination.var_key, + product_id: combination.product_id, + combination: combination + }, (response) => { + + for (let i = 0; i < arPossibleKeys.value.length; i ++) { + + const var_key = arPossibleKeys.value[i]; + + if (var_key.var_key === response.combination.var_key) { + + arPossibleKeys.value[i] = response.combination; + + } + + } + + }); + + combination.loading = true; + + } const add = (combination_key) => { xhr('add', { @@ -226,7 +272,7 @@ arFilter, arPossibleKeys, arVariant, arVariantLabel, arVariationen, arVariationLabel, product_id, getVariantLabel, getVariationLabel, arPossibleKeysFiltered, - add, edit + add, edit, save }; } @@ -241,5 +287,13 @@ #wpsg_mod_productvars_combination .top_filter select { width:100%; } #wpsg_mod_productvars_combination .panel-title { display:flex; justify-content:space-between; align-items:center; } #wpsg_mod_productvars_combination .panel-title .glyphicon { cursor:pointer; } + #wpsg_mod_productvars_combination .panel { margin-bottom:10px; } + #wpsg_mod_productvars_combination .loading_layer { z-index:10; position:absolute; left:0; top:0; width:100%; height:100%; background-color:rgba(0, 0, 0, 0.5); display:flex; justify-content:center; align-items:center; } + #wpsg_mod_productvars_combination .flex { display:flex; } + #wpsg_mod_productvars_combination .w-full { width:100%; } + #wpsg_mod_productvars_combination .justify-end { justify-content:flex-end; } + #wpsg_mod_productvars_combination .mt-4 { margin-top:1rem; } + #wpsg_mod_productvars_combination .relative { position:relative; } + #wpsg_mod_productvars_combination .mt-8 { margin-top:2rem; } </style>
\ No newline at end of file |
