@yuneta/gobj-ui 5.7.0 → 5.7.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/gobj-ui.cjs.js +12 -8
- package/dist/gobj-ui.es.js +12 -8
- package/package.json +1 -1
- package/src/c_yui_form.js +27 -10
package/dist/gobj-ui.cjs.js
CHANGED
|
@@ -6013,14 +6013,20 @@ function isEventSet(table, event) {
|
|
|
6013
6013
|
function set_changed_stated(gobj, changed) {
|
|
6014
6014
|
let $container = (0, _yuneta_gobj_js.gobj_read_attr)(gobj, "$container");
|
|
6015
6015
|
let $form = $container.querySelector("form");
|
|
6016
|
+
const enable = ($btn, on, color) => {
|
|
6017
|
+
if (!$btn) return;
|
|
6018
|
+
if (on) $btn.removeAttribute("disabled");
|
|
6019
|
+
else $btn.setAttribute("disabled", true);
|
|
6020
|
+
const $i = $btn.querySelector("span i");
|
|
6021
|
+
if ($i) $i.style.color = color;
|
|
6022
|
+
};
|
|
6023
|
+
const OFF_COLOR = "hsl(var(--bulma-button-h), var(--bulma-button-s), var(--bulma-button-color-l))";
|
|
6016
6024
|
let $button_save = $container.querySelector(".button-save");
|
|
6017
6025
|
let $button_undo = $container.querySelector(".button-undo");
|
|
6018
6026
|
if (changed) {
|
|
6019
6027
|
(0, _yuneta_gobj_js.gobj_write_bool_attr)(gobj, "changes", true);
|
|
6020
|
-
$button_save
|
|
6021
|
-
$button_undo
|
|
6022
|
-
$button_save.querySelector("span i").style.color = "MediumSeaGreen";
|
|
6023
|
-
$button_undo.querySelector("span i").style.color = "Magenta";
|
|
6028
|
+
enable($button_save, true, "MediumSeaGreen");
|
|
6029
|
+
enable($button_undo, true, "Magenta");
|
|
6024
6030
|
$form.querySelectorAll(".yui-tabulator-table").forEach(($table) => {
|
|
6025
6031
|
if (isEventSet($table.tabulator, "dataChanged")) $table.tabulator.off("dataChanged");
|
|
6026
6032
|
$table.querySelectorAll(".yui-tabulator-table-nested").forEach(($table_nested) => {
|
|
@@ -6029,10 +6035,8 @@ function set_changed_stated(gobj, changed) {
|
|
|
6029
6035
|
});
|
|
6030
6036
|
} else {
|
|
6031
6037
|
(0, _yuneta_gobj_js.gobj_write_bool_attr)(gobj, "changes", false);
|
|
6032
|
-
$button_save
|
|
6033
|
-
$button_undo
|
|
6034
|
-
$button_save.querySelector("span i").style.color = "hsl(var(--bulma-button-h), var(--bulma-button-s), var(--bulma-button-color-l))";
|
|
6035
|
-
$button_undo.querySelector("span i").style.color = "hsl(var(--bulma-button-h), var(--bulma-button-s), var(--bulma-button-color-l))";
|
|
6038
|
+
enable($button_save, false, OFF_COLOR);
|
|
6039
|
+
enable($button_undo, false, OFF_COLOR);
|
|
6036
6040
|
setTimeout(function() {
|
|
6037
6041
|
$form.querySelectorAll(".yui-tabulator-table").forEach(($table) => {
|
|
6038
6042
|
if (isEventSet($table.tabulator, "dataChanged")) $table.tabulator.off("dataChanged");
|
package/dist/gobj-ui.es.js
CHANGED
|
@@ -6008,14 +6008,20 @@ function isEventSet(table, event) {
|
|
|
6008
6008
|
function set_changed_stated(gobj, changed) {
|
|
6009
6009
|
let $container = gobj_read_attr(gobj, "$container");
|
|
6010
6010
|
let $form = $container.querySelector("form");
|
|
6011
|
+
const enable = ($btn, on, color) => {
|
|
6012
|
+
if (!$btn) return;
|
|
6013
|
+
if (on) $btn.removeAttribute("disabled");
|
|
6014
|
+
else $btn.setAttribute("disabled", true);
|
|
6015
|
+
const $i = $btn.querySelector("span i");
|
|
6016
|
+
if ($i) $i.style.color = color;
|
|
6017
|
+
};
|
|
6018
|
+
const OFF_COLOR = "hsl(var(--bulma-button-h), var(--bulma-button-s), var(--bulma-button-color-l))";
|
|
6011
6019
|
let $button_save = $container.querySelector(".button-save");
|
|
6012
6020
|
let $button_undo = $container.querySelector(".button-undo");
|
|
6013
6021
|
if (changed) {
|
|
6014
6022
|
gobj_write_bool_attr(gobj, "changes", true);
|
|
6015
|
-
$button_save
|
|
6016
|
-
$button_undo
|
|
6017
|
-
$button_save.querySelector("span i").style.color = "MediumSeaGreen";
|
|
6018
|
-
$button_undo.querySelector("span i").style.color = "Magenta";
|
|
6023
|
+
enable($button_save, true, "MediumSeaGreen");
|
|
6024
|
+
enable($button_undo, true, "Magenta");
|
|
6019
6025
|
$form.querySelectorAll(".yui-tabulator-table").forEach(($table) => {
|
|
6020
6026
|
if (isEventSet($table.tabulator, "dataChanged")) $table.tabulator.off("dataChanged");
|
|
6021
6027
|
$table.querySelectorAll(".yui-tabulator-table-nested").forEach(($table_nested) => {
|
|
@@ -6024,10 +6030,8 @@ function set_changed_stated(gobj, changed) {
|
|
|
6024
6030
|
});
|
|
6025
6031
|
} else {
|
|
6026
6032
|
gobj_write_bool_attr(gobj, "changes", false);
|
|
6027
|
-
$button_save
|
|
6028
|
-
$button_undo
|
|
6029
|
-
$button_save.querySelector("span i").style.color = "hsl(var(--bulma-button-h), var(--bulma-button-s), var(--bulma-button-color-l))";
|
|
6030
|
-
$button_undo.querySelector("span i").style.color = "hsl(var(--bulma-button-h), var(--bulma-button-s), var(--bulma-button-color-l))";
|
|
6033
|
+
enable($button_save, false, OFF_COLOR);
|
|
6034
|
+
enable($button_undo, false, OFF_COLOR);
|
|
6031
6035
|
setTimeout(function() {
|
|
6032
6036
|
$form.querySelectorAll(".yui-tabulator-table").forEach(($table) => {
|
|
6033
6037
|
if (isEventSet($table.tabulator, "dataChanged")) $table.tabulator.off("dataChanged");
|
package/package.json
CHANGED
package/src/c_yui_form.js
CHANGED
|
@@ -219,6 +219,29 @@ function set_changed_stated(gobj, changed)
|
|
|
219
219
|
let $container = gobj_read_attr(gobj, "$container");
|
|
220
220
|
let $form = $container.querySelector('form');
|
|
221
221
|
|
|
222
|
+
/*
|
|
223
|
+
* Los dos pueden NO estar: desde que la botonera es configurable
|
|
224
|
+
* (`toolbar`), un dialogo de una sola accion pide ["save"] y aqui no
|
|
225
|
+
* hay undo que habilitar. Antes se daban por presentes y quitar uno
|
|
226
|
+
* reventaba con "can't access property setAttribute, a is null" al
|
|
227
|
+
* primer cambio en el formulario.
|
|
228
|
+
*/
|
|
229
|
+
const enable = ($btn, on, color) => {
|
|
230
|
+
if(!$btn) {
|
|
231
|
+
return;
|
|
232
|
+
}
|
|
233
|
+
if(on) {
|
|
234
|
+
$btn.removeAttribute("disabled");
|
|
235
|
+
} else {
|
|
236
|
+
$btn.setAttribute("disabled", true);
|
|
237
|
+
}
|
|
238
|
+
const $i = $btn.querySelector('span i');
|
|
239
|
+
if($i) {
|
|
240
|
+
$i.style.color = color;
|
|
241
|
+
}
|
|
242
|
+
};
|
|
243
|
+
const OFF_COLOR = "hsl(var(--bulma-button-h), var(--bulma-button-s), var(--bulma-button-color-l))";
|
|
244
|
+
|
|
222
245
|
let $button_save = $container.querySelector('.button-save');
|
|
223
246
|
let $button_undo = $container.querySelector('.button-undo');
|
|
224
247
|
|
|
@@ -228,11 +251,8 @@ function set_changed_stated(gobj, changed)
|
|
|
228
251
|
*/
|
|
229
252
|
gobj_write_bool_attr(gobj, "changes", true);
|
|
230
253
|
|
|
231
|
-
$button_save
|
|
232
|
-
$button_undo
|
|
233
|
-
|
|
234
|
-
$button_save.querySelector('span i').style.color = "MediumSeaGreen";
|
|
235
|
-
$button_undo.querySelector('span i').style.color = "Magenta";
|
|
254
|
+
enable($button_save, true, "MediumSeaGreen");
|
|
255
|
+
enable($button_undo, true, "Magenta");
|
|
236
256
|
|
|
237
257
|
$form.querySelectorAll('.yui-tabulator-table').forEach($table => {
|
|
238
258
|
if(isEventSet($table.tabulator, "dataChanged")) {
|
|
@@ -252,11 +272,8 @@ function set_changed_stated(gobj, changed)
|
|
|
252
272
|
*/
|
|
253
273
|
gobj_write_bool_attr(gobj, "changes", false);
|
|
254
274
|
|
|
255
|
-
$button_save
|
|
256
|
-
$button_undo
|
|
257
|
-
|
|
258
|
-
$button_save.querySelector('span i').style.color = "hsl(var(--bulma-button-h), var(--bulma-button-s), var(--bulma-button-color-l))";
|
|
259
|
-
$button_undo.querySelector('span i').style.color = "hsl(var(--bulma-button-h), var(--bulma-button-s), var(--bulma-button-color-l))";
|
|
275
|
+
enable($button_save, false, OFF_COLOR);
|
|
276
|
+
enable($button_undo, false, OFF_COLOR);
|
|
260
277
|
|
|
261
278
|
// TODO improve
|
|
262
279
|
setTimeout(function() {
|