capibara 1.3.21 → 1.3.22
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/index.js +3 -3
- package/package.json +1 -1
- package/src/lib/capibara.js +19 -7
- package/src/scss/components/_input_nav.scss +6 -2
- package/src/util/tableElements.js +66 -38
package/package.json
CHANGED
package/src/lib/capibara.js
CHANGED
|
@@ -949,7 +949,7 @@ export class Capibara{
|
|
|
949
949
|
|
|
950
950
|
|
|
951
951
|
|
|
952
|
-
select(date, item, pos, redraw = true){
|
|
952
|
+
select(date, item, pos, redraw = true, refreshForm = true){
|
|
953
953
|
if(!this.isSelected(date, item)){
|
|
954
954
|
|
|
955
955
|
this.selected.push({
|
|
@@ -967,9 +967,10 @@ export class Capibara{
|
|
|
967
967
|
}
|
|
968
968
|
|
|
969
969
|
// si es el primer item seleccionado, se autorrellena el formulario de navRight
|
|
970
|
-
if(this.selected.length == 1){
|
|
971
|
-
|
|
972
|
-
|
|
970
|
+
if(this.selected.length == 1 && refreshForm){
|
|
971
|
+
this.redraw({
|
|
972
|
+
cornerRight: true,
|
|
973
|
+
});
|
|
973
974
|
let {inputs, element, inputsWithReload, saveCancelBtns} = tableElements.redrawNavRight(this.config, this.$elements.$navRight, this.selected, this.tabSelected, dataDay, this.selected[0]);
|
|
974
975
|
this.$elements.$navRight = element;
|
|
975
976
|
this.$inputsNavRight = inputs;
|
|
@@ -1039,10 +1040,10 @@ export class Capibara{
|
|
|
1039
1040
|
});
|
|
1040
1041
|
};
|
|
1041
1042
|
|
|
1042
|
-
selectByItemDate(date, item, redraw = true){
|
|
1043
|
+
selectByItemDate(date, item, redraw = true, refreshForm = true){
|
|
1043
1044
|
if(!this.isSelected(date, item)){
|
|
1044
1045
|
let pos = utils.getPositionByItemDate(this.config, item, date);
|
|
1045
|
-
this.select(date, item, pos, redraw);
|
|
1046
|
+
this.select(date, item, pos, redraw, refreshForm);
|
|
1046
1047
|
}
|
|
1047
1048
|
};
|
|
1048
1049
|
|
|
@@ -1053,6 +1054,13 @@ export class Capibara{
|
|
|
1053
1054
|
}
|
|
1054
1055
|
};
|
|
1055
1056
|
|
|
1057
|
+
deselectAll(redraw = false){
|
|
1058
|
+
this.selected = [];
|
|
1059
|
+
if(redraw){
|
|
1060
|
+
this.redrawSelection();
|
|
1061
|
+
}
|
|
1062
|
+
};
|
|
1063
|
+
|
|
1056
1064
|
|
|
1057
1065
|
|
|
1058
1066
|
|
|
@@ -1464,8 +1472,12 @@ export class Capibara{
|
|
|
1464
1472
|
tableElements.redrawCorner(this.$elements.$corner, this.config, this.tabSelected);
|
|
1465
1473
|
}
|
|
1466
1474
|
|
|
1475
|
+
if(options.cornerRight){
|
|
1476
|
+
this.$elements.$cornerRight = tableElements.redrawCornerRight(this.$elements.$cornerRight, this.config, this.tabSelected);
|
|
1477
|
+
}
|
|
1478
|
+
|
|
1467
1479
|
if(options.navRight){
|
|
1468
|
-
let {inputs, element, inputsWithReload, saveCancelBtns}
|
|
1480
|
+
let {inputs, element, inputsWithReload, saveCancelBtns} = tableElements.redrawNavRight(this.config, this.$elements.$navRight, this.selected , this.tabSelected);
|
|
1469
1481
|
this.$elements.$navRight = element;
|
|
1470
1482
|
this.$inputsNavRight = inputs;
|
|
1471
1483
|
this.$inputsWithReload = inputsWithReload;
|
|
@@ -327,6 +327,10 @@
|
|
|
327
327
|
&.to-right {
|
|
328
328
|
align-items: end;
|
|
329
329
|
}
|
|
330
|
+
|
|
331
|
+
&.to-left {
|
|
332
|
+
align-items: start;
|
|
333
|
+
}
|
|
330
334
|
|
|
331
335
|
.small-close {
|
|
332
336
|
position: absolute;
|
|
@@ -345,8 +349,8 @@
|
|
|
345
349
|
}
|
|
346
350
|
|
|
347
351
|
.text-subtitle {
|
|
348
|
-
text-align: center;
|
|
349
|
-
align-self: center;
|
|
352
|
+
// text-align: center;
|
|
353
|
+
// align-self: center;
|
|
350
354
|
}
|
|
351
355
|
|
|
352
356
|
.input-section-title {
|
|
@@ -1805,7 +1805,13 @@ export default {
|
|
|
1805
1805
|
tabSelected.inputs.forEach((i) => {
|
|
1806
1806
|
if (i.disabled) return;
|
|
1807
1807
|
|
|
1808
|
-
let $input = this.createInput(
|
|
1808
|
+
let $input = this.createInput(
|
|
1809
|
+
i,
|
|
1810
|
+
dataDay,
|
|
1811
|
+
daySelected,
|
|
1812
|
+
selected,
|
|
1813
|
+
tabSelected
|
|
1814
|
+
);
|
|
1809
1815
|
if ($input) {
|
|
1810
1816
|
$divContainer.appendChild($input);
|
|
1811
1817
|
$inputs.push($input);
|
|
@@ -2114,13 +2120,16 @@ export default {
|
|
|
2114
2120
|
let viewBox = "0 0 24 24";
|
|
2115
2121
|
let icon = iconConfig.icon || null;
|
|
2116
2122
|
|
|
2117
|
-
if(iconConfig.varName){
|
|
2118
|
-
let iconVar = utils.getVarByPath(
|
|
2119
|
-
|
|
2123
|
+
if (iconConfig.varName) {
|
|
2124
|
+
let iconVar = utils.getVarByPath(
|
|
2125
|
+
data.values,
|
|
2126
|
+
iconConfig.varName
|
|
2127
|
+
);
|
|
2128
|
+
if (iconVar) {
|
|
2120
2129
|
icon = iconVar;
|
|
2121
2130
|
}
|
|
2122
2131
|
}
|
|
2123
|
-
|
|
2132
|
+
|
|
2124
2133
|
if (iconConfig.className) {
|
|
2125
2134
|
className = iconConfig.className;
|
|
2126
2135
|
}
|
|
@@ -2133,9 +2142,12 @@ export default {
|
|
|
2133
2142
|
}
|
|
2134
2143
|
}
|
|
2135
2144
|
|
|
2136
|
-
if(iconConfig.colorVarName){
|
|
2137
|
-
let colorVar = utils.getVarByPath(
|
|
2138
|
-
|
|
2145
|
+
if (iconConfig.colorVarName) {
|
|
2146
|
+
let colorVar = utils.getVarByPath(
|
|
2147
|
+
data.values,
|
|
2148
|
+
iconConfig.colorVarName
|
|
2149
|
+
);
|
|
2150
|
+
if (colorVar) {
|
|
2139
2151
|
if (utils.isHexColor(colorVar)) {
|
|
2140
2152
|
colorStyle = `--local-color: ${colorVar};`;
|
|
2141
2153
|
} else {
|
|
@@ -2153,8 +2165,6 @@ export default {
|
|
|
2153
2165
|
</svg>
|
|
2154
2166
|
</div>
|
|
2155
2167
|
`;
|
|
2156
|
-
|
|
2157
|
-
|
|
2158
2168
|
});
|
|
2159
2169
|
}
|
|
2160
2170
|
|
|
@@ -2819,7 +2829,13 @@ export default {
|
|
|
2819
2829
|
* @param {Object[]} [selected = []] - array de objetos, de dias seleccionados
|
|
2820
2830
|
* @return {Object} Elemento Dom del input creado
|
|
2821
2831
|
*/
|
|
2822
|
-
createInput(
|
|
2832
|
+
createInput(
|
|
2833
|
+
props,
|
|
2834
|
+
dataDay = null,
|
|
2835
|
+
daySelected = null,
|
|
2836
|
+
selected = [],
|
|
2837
|
+
tabSelected
|
|
2838
|
+
) {
|
|
2823
2839
|
let r = null;
|
|
2824
2840
|
|
|
2825
2841
|
if (props.ignoreRender == true) return r;
|
|
@@ -2871,7 +2887,13 @@ export default {
|
|
|
2871
2887
|
r = this.createList(props, dataDay);
|
|
2872
2888
|
break;
|
|
2873
2889
|
case "data-list":
|
|
2874
|
-
r = this.createDataList(
|
|
2890
|
+
r = this.createDataList(
|
|
2891
|
+
props,
|
|
2892
|
+
dataDay,
|
|
2893
|
+
daySelected,
|
|
2894
|
+
selected,
|
|
2895
|
+
tabSelected
|
|
2896
|
+
);
|
|
2875
2897
|
break;
|
|
2876
2898
|
case "button":
|
|
2877
2899
|
r = this.createInputButton(props, dataDay);
|
|
@@ -2882,7 +2904,7 @@ export default {
|
|
|
2882
2904
|
case "time":
|
|
2883
2905
|
r = this.createInputTime(props, dataDay);
|
|
2884
2906
|
break;
|
|
2885
|
-
case "text":
|
|
2907
|
+
case "input-text":
|
|
2886
2908
|
default:
|
|
2887
2909
|
r = this.createInputText(props, dataDay);
|
|
2888
2910
|
}
|
|
@@ -2993,8 +3015,8 @@ export default {
|
|
|
2993
3015
|
label = props.formatter({ selected });
|
|
2994
3016
|
}
|
|
2995
3017
|
let $elem = dom.createElementFromHTML(`
|
|
2996
|
-
<div class="input-section ${
|
|
2997
|
-
props.
|
|
3018
|
+
<div class="input-section ${props.isHidden ? "hide " : ""} ${
|
|
3019
|
+
props.toLeft ? "to-left " : ""
|
|
2998
3020
|
} " input-key="${props.key || ""}">
|
|
2999
3021
|
<span class="${props.classNames || ""}">
|
|
3000
3022
|
${label}
|
|
@@ -3343,7 +3365,7 @@ export default {
|
|
|
3343
3365
|
createInputMessage(props, dataDay) {
|
|
3344
3366
|
let value = dataDay ? utils.getVarByPath(dataDay, props.varName) : null;
|
|
3345
3367
|
let elem = dom.createElementFromHTML(`
|
|
3346
|
-
<div class="input-section msj-input-container ${
|
|
3368
|
+
<div class="input-section to-left msj-input-container ${
|
|
3347
3369
|
props.isHidden ? "hide" : ""
|
|
3348
3370
|
} "
|
|
3349
3371
|
input-key="${props.key || ""}">
|
|
@@ -3412,13 +3434,15 @@ export default {
|
|
|
3412
3434
|
return elem;
|
|
3413
3435
|
},
|
|
3414
3436
|
|
|
3415
|
-
createDataList(props, dataDay, daySelected, selected) {
|
|
3437
|
+
createDataList(props, dataDay, daySelected, selected, tabSelected) {
|
|
3416
3438
|
let list = [];
|
|
3417
3439
|
if (dataDay && dataDay.values) {
|
|
3418
3440
|
list = utils.getVarByPath(dataDay, props.varName) || [];
|
|
3419
3441
|
}
|
|
3420
3442
|
|
|
3421
|
-
let searchInput =
|
|
3443
|
+
let searchInput = props.hideSearch
|
|
3444
|
+
? ""
|
|
3445
|
+
: ` <div class="search-input-container">
|
|
3422
3446
|
<input id="" type="text" name="" class="search-input" placeholder="buscar">
|
|
3423
3447
|
<button class="search-input-clear">
|
|
3424
3448
|
${icons.closeIcon}
|
|
@@ -3472,31 +3496,33 @@ export default {
|
|
|
3472
3496
|
$inputBox.appendChild($elItem);
|
|
3473
3497
|
});
|
|
3474
3498
|
|
|
3475
|
-
|
|
3476
|
-
$
|
|
3477
|
-
$searchInput.dispatchEvent(new Event("input", { bubbles: true }));
|
|
3478
|
-
});
|
|
3479
|
-
|
|
3480
|
-
$searchInput.addEventListener("keydown", (e) => {
|
|
3481
|
-
if (e.key === "Escape") {
|
|
3499
|
+
if ($searchInput) {
|
|
3500
|
+
$searchInputClear.addEventListener("click", (e) => {
|
|
3482
3501
|
$searchInput.value = "";
|
|
3483
3502
|
$searchInput.dispatchEvent(new Event("input", { bubbles: true }));
|
|
3484
|
-
}
|
|
3485
|
-
});
|
|
3503
|
+
});
|
|
3486
3504
|
|
|
3487
|
-
|
|
3488
|
-
|
|
3489
|
-
|
|
3490
|
-
|
|
3491
|
-
let label = $i.getAttribute("label");
|
|
3492
|
-
let search = $searchInput.value;
|
|
3493
|
-
if (label.toLowerCase().includes(search.toLowerCase())) {
|
|
3494
|
-
$i.classList.remove("hide");
|
|
3495
|
-
} else {
|
|
3496
|
-
$i.classList.add("hide");
|
|
3505
|
+
$searchInput.addEventListener("keydown", (e) => {
|
|
3506
|
+
if (e.key === "Escape") {
|
|
3507
|
+
$searchInput.value = "";
|
|
3508
|
+
$searchInput.dispatchEvent(new Event("input", { bubbles: true }));
|
|
3497
3509
|
}
|
|
3498
3510
|
});
|
|
3499
|
-
|
|
3511
|
+
|
|
3512
|
+
$searchInput.addEventListener("input", (e) => {
|
|
3513
|
+
let $inputs = [];
|
|
3514
|
+
$inputs = $el.querySelectorAll(".mini-input-section") || [];
|
|
3515
|
+
$inputs.forEach(($i) => {
|
|
3516
|
+
let label = $i.getAttribute("label");
|
|
3517
|
+
let search = $searchInput.value;
|
|
3518
|
+
if (label.toLowerCase().includes(search.toLowerCase())) {
|
|
3519
|
+
$i.classList.remove("hide");
|
|
3520
|
+
} else {
|
|
3521
|
+
$i.classList.add("hide");
|
|
3522
|
+
}
|
|
3523
|
+
});
|
|
3524
|
+
});
|
|
3525
|
+
}
|
|
3500
3526
|
|
|
3501
3527
|
if (props.editButton.onClick) {
|
|
3502
3528
|
let button = $el.querySelector("button.edit-btn");
|
|
@@ -3509,6 +3535,7 @@ export default {
|
|
|
3509
3535
|
daySelected,
|
|
3510
3536
|
selected,
|
|
3511
3537
|
$element: $el,
|
|
3538
|
+
tabSelected,
|
|
3512
3539
|
})
|
|
3513
3540
|
);
|
|
3514
3541
|
}
|
|
@@ -3521,6 +3548,7 @@ export default {
|
|
|
3521
3548
|
daySelected,
|
|
3522
3549
|
selected,
|
|
3523
3550
|
$element: $el,
|
|
3551
|
+
tabSelected,
|
|
3524
3552
|
});
|
|
3525
3553
|
});
|
|
3526
3554
|
});
|