summaryrefslogtreecommitdiff
path: root/views/mods
diff options
context:
space:
mode:
authorDaniel Schmitzer <noreply@maennchen1.de>2023-04-20 14:45:15 +0000
committerDaniel Schmitzer <noreply@maennchen1.de>2023-04-20 14:45:15 +0000
commit7431066f4b2e86bc3a0d6e0a099897c3a45a0dcc (patch)
tree345390b49803e1128f2fb852fe87a539ec478ad7 /views/mods
parent0fba698cdbb7c069e3042dabbdbfd7513e689daa (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.phtml78
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