ywana-core8 0.1.54 → 0.1.56
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.cjs +150 -69
- package/dist/index.cjs.map +1 -1
- package/dist/index.modern.js +150 -70
- package/dist/index.modern.js.map +1 -1
- package/dist/index.umd.js +150 -69
- package/dist/index.umd.js.map +1 -1
- package/package.json +1 -1
- package/src/domain/TablePage.js +22 -0
- package/src/site/index.js +3 -1
- package/src/site/link.js +75 -0
- package/src/site/navigation.js +51 -0
- package/src/site/site.js +4 -41
package/dist/index.cjs
CHANGED
@@ -3347,6 +3347,68 @@ var Page = function Page(props) {
|
|
3347
3347
|
}, children));
|
3348
3348
|
};
|
3349
3349
|
|
3350
|
+
/**
|
3351
|
+
* Use Hash Page
|
3352
|
+
*/
|
3353
|
+
function useHashPage(defaultPage) {
|
3354
|
+
if (defaultPage === void 0) {
|
3355
|
+
defaultPage = "home";
|
3356
|
+
}
|
3357
|
+
var getCurrentPageFromURL = function getCurrentPageFromURL() {
|
3358
|
+
var hash = window.location.hash.replace("#", "");
|
3359
|
+
return hash || defaultPage;
|
3360
|
+
};
|
3361
|
+
var _useState = React.useState(getCurrentPageFromURL()),
|
3362
|
+
page = _useState[0],
|
3363
|
+
setPage = _useState[1];
|
3364
|
+
var _useState2 = React.useState([]),
|
3365
|
+
history = _useState2[0],
|
3366
|
+
setHistory = _useState2[1];
|
3367
|
+
var isFirstLoad = React.useRef(true);
|
3368
|
+
React.useEffect(function () {
|
3369
|
+
var handleHashChange = function handleHashChange() {
|
3370
|
+
var newPage = getCurrentPageFromURL();
|
3371
|
+
if (!isFirstLoad.current) {
|
3372
|
+
setHistory(function (prev) {
|
3373
|
+
return [].concat(prev, [page]);
|
3374
|
+
}); // Guarda la página anterior
|
3375
|
+
} else {
|
3376
|
+
isFirstLoad.current = false;
|
3377
|
+
}
|
3378
|
+
setPage(newPage);
|
3379
|
+
};
|
3380
|
+
window.addEventListener("hashchange", handleHashChange);
|
3381
|
+
return function () {
|
3382
|
+
return window.removeEventListener("hashchange", handleHashChange);
|
3383
|
+
};
|
3384
|
+
}, [page]);
|
3385
|
+
var _goto = function _goto(id) {
|
3386
|
+
if (page) {
|
3387
|
+
setHistory(function (prev) {
|
3388
|
+
return [].concat(prev, [page]);
|
3389
|
+
});
|
3390
|
+
}
|
3391
|
+
setPage(id);
|
3392
|
+
window.location.hash = id;
|
3393
|
+
};
|
3394
|
+
var goBack = function goBack() {
|
3395
|
+
if (history.length > 0) {
|
3396
|
+
var lastPage = history[history.length - 1];
|
3397
|
+
setHistory(function (prev) {
|
3398
|
+
return prev.slice(0, -1);
|
3399
|
+
});
|
3400
|
+
setPage(lastPage);
|
3401
|
+
window.location.hash = lastPage;
|
3402
|
+
}
|
3403
|
+
};
|
3404
|
+
return {
|
3405
|
+
page: page,
|
3406
|
+
"goto": _goto,
|
3407
|
+
goBack: goBack,
|
3408
|
+
history: history
|
3409
|
+
};
|
3410
|
+
}
|
3411
|
+
|
3350
3412
|
/**
|
3351
3413
|
* Site Provider
|
3352
3414
|
*/
|
@@ -3387,30 +3449,10 @@ var SiteProvider = function SiteProvider(_ref) {
|
|
3387
3449
|
var _useState11 = React.useState(),
|
3388
3450
|
breadcrumb = _useState11[0],
|
3389
3451
|
setBreadcrumb = _useState11[1];
|
3390
|
-
var
|
3391
|
-
|
3392
|
-
|
3393
|
-
|
3394
|
-
// 📌 Extraer la página actual desde la URL (por defecto "home")
|
3395
|
-
var getCurrentPageFromURL = function getCurrentPageFromURL() {
|
3396
|
-
var path = window.location.pathname.replace("/", "");
|
3397
|
-
return path || "home";
|
3398
|
-
};
|
3399
|
-
var _useState13 = React.useState(getCurrentPageFromURL()),
|
3400
|
-
page = _useState13[0],
|
3401
|
-
setPage = _useState13[1];
|
3402
|
-
React.useEffect(function () {
|
3403
|
-
// 📌 Detectar cambios en la URL cuando el usuario presiona "Atrás" o "Adelante"
|
3404
|
-
var handlePopState = function handlePopState(event) {
|
3405
|
-
var _event$state;
|
3406
|
-
var previousPage = ((_event$state = event.state) == null ? void 0 : _event$state.page) || "home";
|
3407
|
-
setPage(previousPage);
|
3408
|
-
};
|
3409
|
-
window.addEventListener("popstate", handlePopState);
|
3410
|
-
return function () {
|
3411
|
-
return window.removeEventListener("popstate", handlePopState);
|
3412
|
-
};
|
3413
|
-
}, []);
|
3452
|
+
var _useHashPage = useHashPage(),
|
3453
|
+
page = _useHashPage.page,
|
3454
|
+
_goto = _useHashPage["goto"],
|
3455
|
+
goBack = _useHashPage.goBack;
|
3414
3456
|
var value = {
|
3415
3457
|
lang: lang,
|
3416
3458
|
setLang: setLang,
|
@@ -3420,15 +3462,6 @@ var SiteProvider = function SiteProvider(_ref) {
|
|
3420
3462
|
var _dictionary$key;
|
3421
3463
|
return (dictionary == null ? void 0 : (_dictionary$key = dictionary[key]) == null ? void 0 : _dictionary$key[lang]) || key;
|
3422
3464
|
}, [lang, dictionary]),
|
3423
|
-
/*
|
3424
|
-
translate: (key) => {
|
3425
|
-
if (!key) return key
|
3426
|
-
if (dictionary === undefined) return key
|
3427
|
-
const term = dictionary[key]
|
3428
|
-
return term ? term[lang] : key
|
3429
|
-
},
|
3430
|
-
*/
|
3431
|
-
|
3432
3465
|
sideNav: sideNav,
|
3433
3466
|
setSideNav: setSideNav,
|
3434
3467
|
showNav: showNav,
|
@@ -3455,27 +3488,8 @@ var SiteProvider = function SiteProvider(_ref) {
|
|
3455
3488
|
breadcrumb: breadcrumb,
|
3456
3489
|
setBreadcrumb: setBreadcrumb,
|
3457
3490
|
page: page,
|
3458
|
-
"goto":
|
3459
|
-
|
3460
|
-
setHistory(function (prev) {
|
3461
|
-
return [].concat(prev, [page]);
|
3462
|
-
}); // 🔹 Guarda la página actual en el historial antes de cambiar
|
3463
|
-
}
|
3464
|
-
setPage(id);
|
3465
|
-
window.history.pushState({
|
3466
|
-
page: id
|
3467
|
-
}, "", "/" + id); // 🔹 Actualiza la URL
|
3468
|
-
},
|
3469
|
-
goBack: function goBack() {
|
3470
|
-
if (history.length > 0) {
|
3471
|
-
var lastPage = history[history.length - 1];
|
3472
|
-
setHistory(function (prev) {
|
3473
|
-
return prev.slice(0, -1);
|
3474
|
-
}); // 🔹 Elimina la última entrada del historial
|
3475
|
-
setPage(lastPage); // 🔹 Vuelve a la página anterior
|
3476
|
-
window.history.back(); // 🔹 Regresa en la navegación del navegador
|
3477
|
-
}
|
3478
|
-
},
|
3491
|
+
"goto": _goto,
|
3492
|
+
goBack: goBack,
|
3479
3493
|
dialog: dialog,
|
3480
3494
|
openDialog: function openDialog(dialog) {
|
3481
3495
|
setDialog(dialog);
|
@@ -3628,7 +3642,7 @@ var SiteMenu = function SiteMenu(_ref6) {
|
|
3628
3642
|
var next = sideNav === 'max' ? 'min' : 'max';
|
3629
3643
|
setSideNav(next);
|
3630
3644
|
}
|
3631
|
-
var
|
3645
|
+
var _goto2 = function _goto2(id) {
|
3632
3646
|
context.setShowNav(false);
|
3633
3647
|
context["goto"](id);
|
3634
3648
|
};
|
@@ -3666,7 +3680,7 @@ var SiteMenu = function SiteMenu(_ref6) {
|
|
3666
3680
|
className: "site-menu-item " + styleItem,
|
3667
3681
|
key: id,
|
3668
3682
|
onClick: function onClick() {
|
3669
|
-
return
|
3683
|
+
return _goto2(id);
|
3670
3684
|
}
|
3671
3685
|
}, /*#__PURE__*/React__default["default"].createElement(Tooltip, {
|
3672
3686
|
text: title,
|
@@ -3677,7 +3691,7 @@ var SiteMenu = function SiteMenu(_ref6) {
|
|
3677
3691
|
icon: icon,
|
3678
3692
|
clickable: true,
|
3679
3693
|
action: function action() {
|
3680
|
-
return
|
3694
|
+
return _goto2(id);
|
3681
3695
|
}
|
3682
3696
|
})), sideNav === 'max' ? /*#__PURE__*/React__default["default"].createElement("label", null, titleTxt) : null);
|
3683
3697
|
}), /*#__PURE__*/React__default["default"].createElement("div", {
|
@@ -3876,6 +3890,36 @@ var TabbedView = function TabbedView(props) {
|
|
3876
3890
|
}, children));
|
3877
3891
|
};
|
3878
3892
|
|
3893
|
+
/**
|
3894
|
+
* PageLink - Navegación declarativa usando el sistema de hash
|
3895
|
+
*
|
3896
|
+
* Props:
|
3897
|
+
* - page: string → ID de la página a mostrar
|
3898
|
+
* - children: ReactNode → contenido visual del enlace
|
3899
|
+
* - className: string → clases opcionales
|
3900
|
+
* - style: object → estilos en línea opcionales
|
3901
|
+
*/
|
3902
|
+
var PageLink = function PageLink(_ref) {
|
3903
|
+
var page = _ref.page,
|
3904
|
+
children = _ref.children,
|
3905
|
+
_ref$className = _ref.className,
|
3906
|
+
className = _ref$className === void 0 ? '' : _ref$className,
|
3907
|
+
_ref$style = _ref.style,
|
3908
|
+
style = _ref$style === void 0 ? {} : _ref$style;
|
3909
|
+
var _useContext = React.useContext(SiteContext),
|
3910
|
+
_goto2 = _useContext["goto"];
|
3911
|
+
var handleClick = function handleClick(e) {
|
3912
|
+
e.preventDefault();
|
3913
|
+
_goto2(page);
|
3914
|
+
};
|
3915
|
+
return /*#__PURE__*/React__default["default"].createElement("a", {
|
3916
|
+
href: "#" + page,
|
3917
|
+
onClick: handleClick,
|
3918
|
+
className: className,
|
3919
|
+
style: style
|
3920
|
+
}, children);
|
3921
|
+
};
|
3922
|
+
|
3879
3923
|
/**
|
3880
3924
|
* Admin Change User Password Dialog
|
3881
3925
|
*/
|
@@ -9940,15 +9984,15 @@ var TableContext$2 = function TableContext(url, field, host, urlQuery, params) {
|
|
9940
9984
|
return Promise.reject(e);
|
9941
9985
|
}
|
9942
9986
|
},
|
9943
|
-
|
9944
|
-
this.filters = filters;
|
9945
|
-
},
|
9946
|
-
loadQueries: function loadQueries(user) {
|
9987
|
+
removeChecked: function removeChecked() {
|
9947
9988
|
try {
|
9948
9989
|
var _this6 = this;
|
9949
9990
|
var _temp8 = _catch$3(function () {
|
9950
|
-
|
9951
|
-
|
9991
|
+
var promises = _this6.checked.map(function (id) {
|
9992
|
+
return API.remove(id);
|
9993
|
+
});
|
9994
|
+
return Promise.resolve(Promise.all(promises)).then(function () {
|
9995
|
+
return Promise.resolve(_this6.load()).then(function () {});
|
9952
9996
|
});
|
9953
9997
|
}, function (error) {
|
9954
9998
|
console.log(error);
|
@@ -9958,12 +10002,15 @@ var TableContext$2 = function TableContext(url, field, host, urlQuery, params) {
|
|
9958
10002
|
return Promise.reject(e);
|
9959
10003
|
}
|
9960
10004
|
},
|
9961
|
-
|
10005
|
+
removeAll: function removeAll() {
|
9962
10006
|
try {
|
9963
10007
|
var _this7 = this;
|
9964
10008
|
var _temp9 = _catch$3(function () {
|
9965
|
-
|
9966
|
-
return
|
10009
|
+
var promises = _this7.all.map(function (item) {
|
10010
|
+
return API.remove(item.id);
|
10011
|
+
});
|
10012
|
+
return Promise.resolve(Promise.all(promises)).then(function () {
|
10013
|
+
return Promise.resolve(_this7.load()).then(function () {});
|
9967
10014
|
});
|
9968
10015
|
}, function (error) {
|
9969
10016
|
console.log(error);
|
@@ -9973,12 +10020,15 @@ var TableContext$2 = function TableContext(url, field, host, urlQuery, params) {
|
|
9973
10020
|
return Promise.reject(e);
|
9974
10021
|
}
|
9975
10022
|
},
|
9976
|
-
|
10023
|
+
changeFilters: function changeFilters(filters) {
|
10024
|
+
this.filters = filters;
|
10025
|
+
},
|
10026
|
+
loadQueries: function loadQueries(user) {
|
9977
10027
|
try {
|
9978
10028
|
var _this8 = this;
|
9979
10029
|
var _temp10 = _catch$3(function () {
|
9980
|
-
return Promise.resolve(API.
|
9981
|
-
|
10030
|
+
return Promise.resolve(API.queries(user, urlQuery)).then(function (_API$queries) {
|
10031
|
+
_this8.queries = _API$queries;
|
9982
10032
|
});
|
9983
10033
|
}, function (error) {
|
9984
10034
|
console.log(error);
|
@@ -9987,6 +10037,36 @@ var TableContext$2 = function TableContext(url, field, host, urlQuery, params) {
|
|
9987
10037
|
} catch (e) {
|
9988
10038
|
return Promise.reject(e);
|
9989
10039
|
}
|
10040
|
+
},
|
10041
|
+
createQuery: function createQuery(query, user) {
|
10042
|
+
try {
|
10043
|
+
var _this9 = this;
|
10044
|
+
var _temp11 = _catch$3(function () {
|
10045
|
+
return Promise.resolve(API.createQuery(query, urlQuery)).then(function () {
|
10046
|
+
return Promise.resolve(_this9.loadQueries(user)).then(function () {});
|
10047
|
+
});
|
10048
|
+
}, function (error) {
|
10049
|
+
console.log(error);
|
10050
|
+
});
|
10051
|
+
return Promise.resolve(_temp11 && _temp11.then ? _temp11.then(function () {}) : void 0);
|
10052
|
+
} catch (e) {
|
10053
|
+
return Promise.reject(e);
|
10054
|
+
}
|
10055
|
+
},
|
10056
|
+
removeQuery: function removeQuery(id, user) {
|
10057
|
+
try {
|
10058
|
+
var _this10 = this;
|
10059
|
+
var _temp12 = _catch$3(function () {
|
10060
|
+
return Promise.resolve(API.removeQuery(id, urlQuery)).then(function () {
|
10061
|
+
return Promise.resolve(_this10.loadQueries(user)).then(function () {});
|
10062
|
+
});
|
10063
|
+
}, function (error) {
|
10064
|
+
console.log(error);
|
10065
|
+
});
|
10066
|
+
return Promise.resolve(_temp12 && _temp12.then ? _temp12.then(function () {}) : void 0);
|
10067
|
+
} catch (e) {
|
10068
|
+
return Promise.reject(e);
|
10069
|
+
}
|
9990
10070
|
}
|
9991
10071
|
};
|
9992
10072
|
};
|
@@ -12806,6 +12886,7 @@ exports.MonthCalendar = MonthCalendar;
|
|
12806
12886
|
exports.MultiSelector = MultiSelector;
|
12807
12887
|
exports.Page = Page;
|
12808
12888
|
exports.PageContext = PageContext;
|
12889
|
+
exports.PageLink = PageLink;
|
12809
12890
|
exports.PageProvider = PageProvider;
|
12810
12891
|
exports.PasswordEditor = PasswordEditor;
|
12811
12892
|
exports.PasswordField = PasswordField;
|