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.modern.js
CHANGED
@@ -3338,6 +3338,68 @@ var Page = function Page(props) {
|
|
3338
3338
|
}, children));
|
3339
3339
|
};
|
3340
3340
|
|
3341
|
+
/**
|
3342
|
+
* Use Hash Page
|
3343
|
+
*/
|
3344
|
+
function useHashPage(defaultPage) {
|
3345
|
+
if (defaultPage === void 0) {
|
3346
|
+
defaultPage = "home";
|
3347
|
+
}
|
3348
|
+
var getCurrentPageFromURL = function getCurrentPageFromURL() {
|
3349
|
+
var hash = window.location.hash.replace("#", "");
|
3350
|
+
return hash || defaultPage;
|
3351
|
+
};
|
3352
|
+
var _useState = useState(getCurrentPageFromURL()),
|
3353
|
+
page = _useState[0],
|
3354
|
+
setPage = _useState[1];
|
3355
|
+
var _useState2 = useState([]),
|
3356
|
+
history = _useState2[0],
|
3357
|
+
setHistory = _useState2[1];
|
3358
|
+
var isFirstLoad = useRef(true);
|
3359
|
+
useEffect(function () {
|
3360
|
+
var handleHashChange = function handleHashChange() {
|
3361
|
+
var newPage = getCurrentPageFromURL();
|
3362
|
+
if (!isFirstLoad.current) {
|
3363
|
+
setHistory(function (prev) {
|
3364
|
+
return [].concat(prev, [page]);
|
3365
|
+
}); // Guarda la página anterior
|
3366
|
+
} else {
|
3367
|
+
isFirstLoad.current = false;
|
3368
|
+
}
|
3369
|
+
setPage(newPage);
|
3370
|
+
};
|
3371
|
+
window.addEventListener("hashchange", handleHashChange);
|
3372
|
+
return function () {
|
3373
|
+
return window.removeEventListener("hashchange", handleHashChange);
|
3374
|
+
};
|
3375
|
+
}, [page]);
|
3376
|
+
var _goto = function _goto(id) {
|
3377
|
+
if (page) {
|
3378
|
+
setHistory(function (prev) {
|
3379
|
+
return [].concat(prev, [page]);
|
3380
|
+
});
|
3381
|
+
}
|
3382
|
+
setPage(id);
|
3383
|
+
window.location.hash = id;
|
3384
|
+
};
|
3385
|
+
var goBack = function goBack() {
|
3386
|
+
if (history.length > 0) {
|
3387
|
+
var lastPage = history[history.length - 1];
|
3388
|
+
setHistory(function (prev) {
|
3389
|
+
return prev.slice(0, -1);
|
3390
|
+
});
|
3391
|
+
setPage(lastPage);
|
3392
|
+
window.location.hash = lastPage;
|
3393
|
+
}
|
3394
|
+
};
|
3395
|
+
return {
|
3396
|
+
page: page,
|
3397
|
+
"goto": _goto,
|
3398
|
+
goBack: goBack,
|
3399
|
+
history: history
|
3400
|
+
};
|
3401
|
+
}
|
3402
|
+
|
3341
3403
|
/**
|
3342
3404
|
* Site Provider
|
3343
3405
|
*/
|
@@ -3378,30 +3440,10 @@ var SiteProvider = function SiteProvider(_ref) {
|
|
3378
3440
|
var _useState11 = useState(),
|
3379
3441
|
breadcrumb = _useState11[0],
|
3380
3442
|
setBreadcrumb = _useState11[1];
|
3381
|
-
var
|
3382
|
-
|
3383
|
-
|
3384
|
-
|
3385
|
-
// 📌 Extraer la página actual desde la URL (por defecto "home")
|
3386
|
-
var getCurrentPageFromURL = function getCurrentPageFromURL() {
|
3387
|
-
var path = window.location.pathname.replace("/", "");
|
3388
|
-
return path || "home";
|
3389
|
-
};
|
3390
|
-
var _useState13 = useState(getCurrentPageFromURL()),
|
3391
|
-
page = _useState13[0],
|
3392
|
-
setPage = _useState13[1];
|
3393
|
-
useEffect(function () {
|
3394
|
-
// 📌 Detectar cambios en la URL cuando el usuario presiona "Atrás" o "Adelante"
|
3395
|
-
var handlePopState = function handlePopState(event) {
|
3396
|
-
var _event$state;
|
3397
|
-
var previousPage = ((_event$state = event.state) == null ? void 0 : _event$state.page) || "home";
|
3398
|
-
setPage(previousPage);
|
3399
|
-
};
|
3400
|
-
window.addEventListener("popstate", handlePopState);
|
3401
|
-
return function () {
|
3402
|
-
return window.removeEventListener("popstate", handlePopState);
|
3403
|
-
};
|
3404
|
-
}, []);
|
3443
|
+
var _useHashPage = useHashPage(),
|
3444
|
+
page = _useHashPage.page,
|
3445
|
+
_goto = _useHashPage["goto"],
|
3446
|
+
goBack = _useHashPage.goBack;
|
3405
3447
|
var value = {
|
3406
3448
|
lang: lang,
|
3407
3449
|
setLang: setLang,
|
@@ -3411,15 +3453,6 @@ var SiteProvider = function SiteProvider(_ref) {
|
|
3411
3453
|
var _dictionary$key;
|
3412
3454
|
return (dictionary == null ? void 0 : (_dictionary$key = dictionary[key]) == null ? void 0 : _dictionary$key[lang]) || key;
|
3413
3455
|
}, [lang, dictionary]),
|
3414
|
-
/*
|
3415
|
-
translate: (key) => {
|
3416
|
-
if (!key) return key
|
3417
|
-
if (dictionary === undefined) return key
|
3418
|
-
const term = dictionary[key]
|
3419
|
-
return term ? term[lang] : key
|
3420
|
-
},
|
3421
|
-
*/
|
3422
|
-
|
3423
3456
|
sideNav: sideNav,
|
3424
3457
|
setSideNav: setSideNav,
|
3425
3458
|
showNav: showNav,
|
@@ -3446,27 +3479,8 @@ var SiteProvider = function SiteProvider(_ref) {
|
|
3446
3479
|
breadcrumb: breadcrumb,
|
3447
3480
|
setBreadcrumb: setBreadcrumb,
|
3448
3481
|
page: page,
|
3449
|
-
"goto":
|
3450
|
-
|
3451
|
-
setHistory(function (prev) {
|
3452
|
-
return [].concat(prev, [page]);
|
3453
|
-
}); // 🔹 Guarda la página actual en el historial antes de cambiar
|
3454
|
-
}
|
3455
|
-
setPage(id);
|
3456
|
-
window.history.pushState({
|
3457
|
-
page: id
|
3458
|
-
}, "", "/" + id); // 🔹 Actualiza la URL
|
3459
|
-
},
|
3460
|
-
goBack: function goBack() {
|
3461
|
-
if (history.length > 0) {
|
3462
|
-
var lastPage = history[history.length - 1];
|
3463
|
-
setHistory(function (prev) {
|
3464
|
-
return prev.slice(0, -1);
|
3465
|
-
}); // 🔹 Elimina la última entrada del historial
|
3466
|
-
setPage(lastPage); // 🔹 Vuelve a la página anterior
|
3467
|
-
window.history.back(); // 🔹 Regresa en la navegación del navegador
|
3468
|
-
}
|
3469
|
-
},
|
3482
|
+
"goto": _goto,
|
3483
|
+
goBack: goBack,
|
3470
3484
|
dialog: dialog,
|
3471
3485
|
openDialog: function openDialog(dialog) {
|
3472
3486
|
setDialog(dialog);
|
@@ -3619,7 +3633,7 @@ var SiteMenu = function SiteMenu(_ref6) {
|
|
3619
3633
|
var next = sideNav === 'max' ? 'min' : 'max';
|
3620
3634
|
setSideNav(next);
|
3621
3635
|
}
|
3622
|
-
var
|
3636
|
+
var _goto2 = function _goto2(id) {
|
3623
3637
|
context.setShowNav(false);
|
3624
3638
|
context["goto"](id);
|
3625
3639
|
};
|
@@ -3657,7 +3671,7 @@ var SiteMenu = function SiteMenu(_ref6) {
|
|
3657
3671
|
className: "site-menu-item " + styleItem,
|
3658
3672
|
key: id,
|
3659
3673
|
onClick: function onClick() {
|
3660
|
-
return
|
3674
|
+
return _goto2(id);
|
3661
3675
|
}
|
3662
3676
|
}, /*#__PURE__*/React.createElement(Tooltip, {
|
3663
3677
|
text: title,
|
@@ -3668,7 +3682,7 @@ var SiteMenu = function SiteMenu(_ref6) {
|
|
3668
3682
|
icon: icon,
|
3669
3683
|
clickable: true,
|
3670
3684
|
action: function action() {
|
3671
|
-
return
|
3685
|
+
return _goto2(id);
|
3672
3686
|
}
|
3673
3687
|
})), sideNav === 'max' ? /*#__PURE__*/React.createElement("label", null, titleTxt) : null);
|
3674
3688
|
}), /*#__PURE__*/React.createElement("div", {
|
@@ -3867,6 +3881,36 @@ var TabbedView = function TabbedView(props) {
|
|
3867
3881
|
}, children));
|
3868
3882
|
};
|
3869
3883
|
|
3884
|
+
/**
|
3885
|
+
* PageLink - Navegación declarativa usando el sistema de hash
|
3886
|
+
*
|
3887
|
+
* Props:
|
3888
|
+
* - page: string → ID de la página a mostrar
|
3889
|
+
* - children: ReactNode → contenido visual del enlace
|
3890
|
+
* - className: string → clases opcionales
|
3891
|
+
* - style: object → estilos en línea opcionales
|
3892
|
+
*/
|
3893
|
+
var PageLink = function PageLink(_ref) {
|
3894
|
+
var page = _ref.page,
|
3895
|
+
children = _ref.children,
|
3896
|
+
_ref$className = _ref.className,
|
3897
|
+
className = _ref$className === void 0 ? '' : _ref$className,
|
3898
|
+
_ref$style = _ref.style,
|
3899
|
+
style = _ref$style === void 0 ? {} : _ref$style;
|
3900
|
+
var _useContext = useContext(SiteContext),
|
3901
|
+
_goto2 = _useContext["goto"];
|
3902
|
+
var handleClick = function handleClick(e) {
|
3903
|
+
e.preventDefault();
|
3904
|
+
_goto2(page);
|
3905
|
+
};
|
3906
|
+
return /*#__PURE__*/React.createElement("a", {
|
3907
|
+
href: "#" + page,
|
3908
|
+
onClick: handleClick,
|
3909
|
+
className: className,
|
3910
|
+
style: style
|
3911
|
+
}, children);
|
3912
|
+
};
|
3913
|
+
|
3870
3914
|
/**
|
3871
3915
|
* Admin Change User Password Dialog
|
3872
3916
|
*/
|
@@ -9931,15 +9975,15 @@ var TableContext$2 = function TableContext(url, field, host, urlQuery, params) {
|
|
9931
9975
|
return Promise.reject(e);
|
9932
9976
|
}
|
9933
9977
|
},
|
9934
|
-
|
9935
|
-
this.filters = filters;
|
9936
|
-
},
|
9937
|
-
loadQueries: function loadQueries(user) {
|
9978
|
+
removeChecked: function removeChecked() {
|
9938
9979
|
try {
|
9939
9980
|
var _this6 = this;
|
9940
9981
|
var _temp8 = _catch$3(function () {
|
9941
|
-
|
9942
|
-
|
9982
|
+
var promises = _this6.checked.map(function (id) {
|
9983
|
+
return API.remove(id);
|
9984
|
+
});
|
9985
|
+
return Promise.resolve(Promise.all(promises)).then(function () {
|
9986
|
+
return Promise.resolve(_this6.load()).then(function () {});
|
9943
9987
|
});
|
9944
9988
|
}, function (error) {
|
9945
9989
|
console.log(error);
|
@@ -9949,12 +9993,15 @@ var TableContext$2 = function TableContext(url, field, host, urlQuery, params) {
|
|
9949
9993
|
return Promise.reject(e);
|
9950
9994
|
}
|
9951
9995
|
},
|
9952
|
-
|
9996
|
+
removeAll: function removeAll() {
|
9953
9997
|
try {
|
9954
9998
|
var _this7 = this;
|
9955
9999
|
var _temp9 = _catch$3(function () {
|
9956
|
-
|
9957
|
-
return
|
10000
|
+
var promises = _this7.all.map(function (item) {
|
10001
|
+
return API.remove(item.id);
|
10002
|
+
});
|
10003
|
+
return Promise.resolve(Promise.all(promises)).then(function () {
|
10004
|
+
return Promise.resolve(_this7.load()).then(function () {});
|
9958
10005
|
});
|
9959
10006
|
}, function (error) {
|
9960
10007
|
console.log(error);
|
@@ -9964,12 +10011,15 @@ var TableContext$2 = function TableContext(url, field, host, urlQuery, params) {
|
|
9964
10011
|
return Promise.reject(e);
|
9965
10012
|
}
|
9966
10013
|
},
|
9967
|
-
|
10014
|
+
changeFilters: function changeFilters(filters) {
|
10015
|
+
this.filters = filters;
|
10016
|
+
},
|
10017
|
+
loadQueries: function loadQueries(user) {
|
9968
10018
|
try {
|
9969
10019
|
var _this8 = this;
|
9970
10020
|
var _temp10 = _catch$3(function () {
|
9971
|
-
return Promise.resolve(API.
|
9972
|
-
|
10021
|
+
return Promise.resolve(API.queries(user, urlQuery)).then(function (_API$queries) {
|
10022
|
+
_this8.queries = _API$queries;
|
9973
10023
|
});
|
9974
10024
|
}, function (error) {
|
9975
10025
|
console.log(error);
|
@@ -9978,6 +10028,36 @@ var TableContext$2 = function TableContext(url, field, host, urlQuery, params) {
|
|
9978
10028
|
} catch (e) {
|
9979
10029
|
return Promise.reject(e);
|
9980
10030
|
}
|
10031
|
+
},
|
10032
|
+
createQuery: function createQuery(query, user) {
|
10033
|
+
try {
|
10034
|
+
var _this9 = this;
|
10035
|
+
var _temp11 = _catch$3(function () {
|
10036
|
+
return Promise.resolve(API.createQuery(query, urlQuery)).then(function () {
|
10037
|
+
return Promise.resolve(_this9.loadQueries(user)).then(function () {});
|
10038
|
+
});
|
10039
|
+
}, function (error) {
|
10040
|
+
console.log(error);
|
10041
|
+
});
|
10042
|
+
return Promise.resolve(_temp11 && _temp11.then ? _temp11.then(function () {}) : void 0);
|
10043
|
+
} catch (e) {
|
10044
|
+
return Promise.reject(e);
|
10045
|
+
}
|
10046
|
+
},
|
10047
|
+
removeQuery: function removeQuery(id, user) {
|
10048
|
+
try {
|
10049
|
+
var _this10 = this;
|
10050
|
+
var _temp12 = _catch$3(function () {
|
10051
|
+
return Promise.resolve(API.removeQuery(id, urlQuery)).then(function () {
|
10052
|
+
return Promise.resolve(_this10.loadQueries(user)).then(function () {});
|
10053
|
+
});
|
10054
|
+
}, function (error) {
|
10055
|
+
console.log(error);
|
10056
|
+
});
|
10057
|
+
return Promise.resolve(_temp12 && _temp12.then ? _temp12.then(function () {}) : void 0);
|
10058
|
+
} catch (e) {
|
10059
|
+
return Promise.reject(e);
|
10060
|
+
}
|
9981
10061
|
}
|
9982
10062
|
};
|
9983
10063
|
};
|
@@ -12729,5 +12809,5 @@ var isFunction = function isFunction(value) {
|
|
12729
12809
|
return value && (Object.prototype.toString.call(value) === "[object Function]" || "function" === typeof value || value instanceof Function);
|
12730
12810
|
};
|
12731
12811
|
|
12732
|
-
export { Accordion, ActionButton, Avatar, Button, Calendar, ChangeUserPasswordAction, ChangeUserPasswordDialog, CheckBox, Chip, Chips, CircularProgress, CollectionAPI$1 as CollectionAPI, CollectionAPI as CollectionAPI2, CollectionContext$1 as CollectionContext, CollectionContext as CollectionContext2, CollectionEditor$2 as CollectionEditor, CollectionFilters$1 as CollectionFilters, CollectionPage$1 as CollectionPage, CollectionPage as CollectionPage2, CollectionTree, ColorField, Content, ContentEditor, ContentForm, ContentViewer, CreateContentDialog, DataTable, DateRange, Dialog, DropDown, DynamicForm, EditContentDialog, EmptyMessage, FORMATS$1 as FORMATS, FieldEditor, FileExplorer, FileExplorerView, FileGridItem, FilesGridView, FilesSearchBox, FilesTableView, FoldersTreeView, ForgetUserPasswordAction, Form, HTTPClient, Header, Icon, ImageViewer, Kanban, KanbanCard, KanbanColumn, KanbanHeader, KanbanSwimlane, LOGIN_API, LOGIN_CONTEXT, LOGIN_DICTIONARY, LinearProgress, List, ListEditor, LoginBox, Menu, MenuIcon, MenuItem, MenuSeparator, MonthCalendar, MultiSelector, Page, PageContext, PageProvider, PasswordEditor, PasswordField, Planner, Planner2, Property, RadioButton, ResetPasswordBox, Section, Session, Site, SiteContext, SiteProvider, Stack, Switch, Switch2, TASK_STATES, TEXTFORMATS, TYPES$1 as TYPES, Tab, TabbedContentEditor, TabbedTablePage, TabbedView, TableEditor$2 as TableEditor, TablePage, TablePage2, Tabs, TaskContext, TaskContextProvider, TaskMonitor, TaskProgress, Text, TextArea, TextField, Thumbnail, ToggleButton, TokenField, Tooltip, Tree, TreeItem, TreeNode, TreededContentEditor, UnlockUserAction, UploadArea, UploadDialog, UploadFile$1 as UploadFile, UploadForm, UploadIcon, Uploader, View, Viewer, WaitScreen, Wizard, WizardContext, isEmpty, isFunction, validatePassword };
|
12812
|
+
export { Accordion, ActionButton, Avatar, Button, Calendar, ChangeUserPasswordAction, ChangeUserPasswordDialog, CheckBox, Chip, Chips, CircularProgress, CollectionAPI$1 as CollectionAPI, CollectionAPI as CollectionAPI2, CollectionContext$1 as CollectionContext, CollectionContext as CollectionContext2, CollectionEditor$2 as CollectionEditor, CollectionFilters$1 as CollectionFilters, CollectionPage$1 as CollectionPage, CollectionPage as CollectionPage2, CollectionTree, ColorField, Content, ContentEditor, ContentForm, ContentViewer, CreateContentDialog, DataTable, DateRange, Dialog, DropDown, DynamicForm, EditContentDialog, EmptyMessage, FORMATS$1 as FORMATS, FieldEditor, FileExplorer, FileExplorerView, FileGridItem, FilesGridView, FilesSearchBox, FilesTableView, FoldersTreeView, ForgetUserPasswordAction, Form, HTTPClient, Header, Icon, ImageViewer, Kanban, KanbanCard, KanbanColumn, KanbanHeader, KanbanSwimlane, LOGIN_API, LOGIN_CONTEXT, LOGIN_DICTIONARY, LinearProgress, List, ListEditor, LoginBox, Menu, MenuIcon, MenuItem, MenuSeparator, MonthCalendar, MultiSelector, Page, PageContext, PageLink, PageProvider, PasswordEditor, PasswordField, Planner, Planner2, Property, RadioButton, ResetPasswordBox, Section, Session, Site, SiteContext, SiteProvider, Stack, Switch, Switch2, TASK_STATES, TEXTFORMATS, TYPES$1 as TYPES, Tab, TabbedContentEditor, TabbedTablePage, TabbedView, TableEditor$2 as TableEditor, TablePage, TablePage2, Tabs, TaskContext, TaskContextProvider, TaskMonitor, TaskProgress, Text, TextArea, TextField, Thumbnail, ToggleButton, TokenField, Tooltip, Tree, TreeItem, TreeNode, TreededContentEditor, UnlockUserAction, UploadArea, UploadDialog, UploadFile$1 as UploadFile, UploadForm, UploadIcon, Uploader, View, Viewer, WaitScreen, Wizard, WizardContext, isEmpty, isFunction, validatePassword };
|
12733
12813
|
//# sourceMappingURL=index.modern.js.map
|