slicejs-web-framework 3.1.2 → 3.1.4
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/Slice/Slice.js +11 -6
- package/Slice/tests/build-bundled-component-without-category.test.js +103 -0
- package/package.json +1 -1
- package/.worktrees/bundling-v2-precompiled-registrars/LICENSE +0 -21
- package/.worktrees/bundling-v2-precompiled-registrars/Slice/Components/Structural/ContextManager/ContextManager.js +0 -369
- package/.worktrees/bundling-v2-precompiled-registrars/Slice/Components/Structural/ContextManager/ContextManagerDebugger.js +0 -297
- package/.worktrees/bundling-v2-precompiled-registrars/Slice/Components/Structural/Controller/Controller.js +0 -972
- package/.worktrees/bundling-v2-precompiled-registrars/Slice/Components/Structural/Debugger/Debugger.css +0 -620
- package/.worktrees/bundling-v2-precompiled-registrars/Slice/Components/Structural/Debugger/Debugger.html +0 -73
- package/.worktrees/bundling-v2-precompiled-registrars/Slice/Components/Structural/Debugger/Debugger.js +0 -1548
- package/.worktrees/bundling-v2-precompiled-registrars/Slice/Components/Structural/EventManager/EventManager.js +0 -338
- package/.worktrees/bundling-v2-precompiled-registrars/Slice/Components/Structural/EventManager/EventManagerDebugger.js +0 -361
- package/.worktrees/bundling-v2-precompiled-registrars/Slice/Components/Structural/Logger/Log.js +0 -10
- package/.worktrees/bundling-v2-precompiled-registrars/Slice/Components/Structural/Logger/Logger.js +0 -146
- package/.worktrees/bundling-v2-precompiled-registrars/Slice/Components/Structural/Router/Router.js +0 -721
- package/.worktrees/bundling-v2-precompiled-registrars/Slice/Components/Structural/StylesManager/StylesManager.js +0 -78
- package/.worktrees/bundling-v2-precompiled-registrars/Slice/Components/Structural/StylesManager/ThemeManager/ThemeManager.js +0 -84
- package/.worktrees/bundling-v2-precompiled-registrars/Slice/Slice.js +0 -504
- package/.worktrees/bundling-v2-precompiled-registrars/Slice/tests/bundle-v2-runtime-contract.test.js +0 -268
- package/.worktrees/bundling-v2-precompiled-registrars/Slice/tests/router-loading-finally.test.js +0 -68
- package/.worktrees/bundling-v2-precompiled-registrars/api/index.js +0 -286
- package/.worktrees/bundling-v2-precompiled-registrars/api/middleware/securityMiddleware.js +0 -253
- package/.worktrees/bundling-v2-precompiled-registrars/package.json +0 -37
- package/.worktrees/bundling-v2-precompiled-registrars/sliceConfig.schema.json +0 -109
- package/.worktrees/bundling-v2-precompiled-registrars/src/App/index.html +0 -22
- package/.worktrees/bundling-v2-precompiled-registrars/src/App/index.js +0 -23
- package/.worktrees/bundling-v2-precompiled-registrars/src/App/style.css +0 -40
- package/.worktrees/bundling-v2-precompiled-registrars/src/Components/AppComponents/HomePage/HomePage.css +0 -201
- package/.worktrees/bundling-v2-precompiled-registrars/src/Components/AppComponents/HomePage/HomePage.html +0 -37
- package/.worktrees/bundling-v2-precompiled-registrars/src/Components/AppComponents/HomePage/HomePage.js +0 -210
- package/.worktrees/bundling-v2-precompiled-registrars/src/Components/AppComponents/Playground/Playground.css +0 -12
- package/.worktrees/bundling-v2-precompiled-registrars/src/Components/AppComponents/Playground/Playground.html +0 -0
- package/.worktrees/bundling-v2-precompiled-registrars/src/Components/AppComponents/Playground/Playground.js +0 -111
- package/.worktrees/bundling-v2-precompiled-registrars/src/Components/Service/FetchManager/FetchManager.js +0 -133
- package/.worktrees/bundling-v2-precompiled-registrars/src/Components/Service/IndexedDbManager/IndexedDbManager.js +0 -141
- package/.worktrees/bundling-v2-precompiled-registrars/src/Components/Service/LocalStorageManager/LocalStorageManager.js +0 -45
- package/.worktrees/bundling-v2-precompiled-registrars/src/Components/Visual/Button/Button.css +0 -47
- package/.worktrees/bundling-v2-precompiled-registrars/src/Components/Visual/Button/Button.html +0 -5
- package/.worktrees/bundling-v2-precompiled-registrars/src/Components/Visual/Button/Button.js +0 -93
- package/.worktrees/bundling-v2-precompiled-registrars/src/Components/Visual/Card/Card.css +0 -68
- package/.worktrees/bundling-v2-precompiled-registrars/src/Components/Visual/Card/Card.html +0 -7
- package/.worktrees/bundling-v2-precompiled-registrars/src/Components/Visual/Card/Card.js +0 -107
- package/.worktrees/bundling-v2-precompiled-registrars/src/Components/Visual/Checkbox/Checkbox.css +0 -87
- package/.worktrees/bundling-v2-precompiled-registrars/src/Components/Visual/Checkbox/Checkbox.html +0 -8
- package/.worktrees/bundling-v2-precompiled-registrars/src/Components/Visual/Checkbox/Checkbox.js +0 -86
- package/.worktrees/bundling-v2-precompiled-registrars/src/Components/Visual/CodeVisualizer/CodeVisualizer.css +0 -130
- package/.worktrees/bundling-v2-precompiled-registrars/src/Components/Visual/CodeVisualizer/CodeVisualizer.html +0 -4
- package/.worktrees/bundling-v2-precompiled-registrars/src/Components/Visual/CodeVisualizer/CodeVisualizer.js +0 -262
- package/.worktrees/bundling-v2-precompiled-registrars/src/Components/Visual/Details/Details.css +0 -70
- package/.worktrees/bundling-v2-precompiled-registrars/src/Components/Visual/Details/Details.html +0 -9
- package/.worktrees/bundling-v2-precompiled-registrars/src/Components/Visual/Details/Details.js +0 -76
- package/.worktrees/bundling-v2-precompiled-registrars/src/Components/Visual/DropDown/DropDown.css +0 -60
- package/.worktrees/bundling-v2-precompiled-registrars/src/Components/Visual/DropDown/DropDown.html +0 -5
- package/.worktrees/bundling-v2-precompiled-registrars/src/Components/Visual/DropDown/DropDown.js +0 -63
- package/.worktrees/bundling-v2-precompiled-registrars/src/Components/Visual/Grid/Grid.css +0 -7
- package/.worktrees/bundling-v2-precompiled-registrars/src/Components/Visual/Grid/Grid.html +0 -1
- package/.worktrees/bundling-v2-precompiled-registrars/src/Components/Visual/Grid/Grid.js +0 -57
- package/.worktrees/bundling-v2-precompiled-registrars/src/Components/Visual/Icon/Icon.css +0 -510
- package/.worktrees/bundling-v2-precompiled-registrars/src/Components/Visual/Icon/Icon.html +0 -1
- package/.worktrees/bundling-v2-precompiled-registrars/src/Components/Visual/Icon/Icon.js +0 -89
- package/.worktrees/bundling-v2-precompiled-registrars/src/Components/Visual/Icon/slc.eot +0 -0
- package/.worktrees/bundling-v2-precompiled-registrars/src/Components/Visual/Icon/slc.json +0 -555
- package/.worktrees/bundling-v2-precompiled-registrars/src/Components/Visual/Icon/slc.styl +0 -507
- package/.worktrees/bundling-v2-precompiled-registrars/src/Components/Visual/Icon/slc.svg +0 -1485
- package/.worktrees/bundling-v2-precompiled-registrars/src/Components/Visual/Icon/slc.symbol.svg +0 -1059
- package/.worktrees/bundling-v2-precompiled-registrars/src/Components/Visual/Icon/slc.ttf +0 -0
- package/.worktrees/bundling-v2-precompiled-registrars/src/Components/Visual/Icon/slc.woff +0 -0
- package/.worktrees/bundling-v2-precompiled-registrars/src/Components/Visual/Icon/slc.woff2 +0 -0
- package/.worktrees/bundling-v2-precompiled-registrars/src/Components/Visual/Input/Input.css +0 -91
- package/.worktrees/bundling-v2-precompiled-registrars/src/Components/Visual/Input/Input.html +0 -4
- package/.worktrees/bundling-v2-precompiled-registrars/src/Components/Visual/Input/Input.js +0 -215
- package/.worktrees/bundling-v2-precompiled-registrars/src/Components/Visual/Layout/Layout.css +0 -0
- package/.worktrees/bundling-v2-precompiled-registrars/src/Components/Visual/Layout/Layout.html +0 -0
- package/.worktrees/bundling-v2-precompiled-registrars/src/Components/Visual/Layout/Layout.js +0 -49
- package/.worktrees/bundling-v2-precompiled-registrars/src/Components/Visual/Link/Link.css +0 -8
- package/.worktrees/bundling-v2-precompiled-registrars/src/Components/Visual/Link/Link.html +0 -1
- package/.worktrees/bundling-v2-precompiled-registrars/src/Components/Visual/Link/Link.js +0 -63
- package/.worktrees/bundling-v2-precompiled-registrars/src/Components/Visual/Loading/Loading.css +0 -56
- package/.worktrees/bundling-v2-precompiled-registrars/src/Components/Visual/Loading/Loading.html +0 -83
- package/.worktrees/bundling-v2-precompiled-registrars/src/Components/Visual/Loading/Loading.js +0 -38
- package/.worktrees/bundling-v2-precompiled-registrars/src/Components/Visual/MultiRoute/MultiRoute.js +0 -93
- package/.worktrees/bundling-v2-precompiled-registrars/src/Components/Visual/Navbar/Navbar.css +0 -115
- package/.worktrees/bundling-v2-precompiled-registrars/src/Components/Visual/Navbar/Navbar.html +0 -44
- package/.worktrees/bundling-v2-precompiled-registrars/src/Components/Visual/Navbar/Navbar.js +0 -141
- package/.worktrees/bundling-v2-precompiled-registrars/src/Components/Visual/NotFound/NotFound.css +0 -117
- package/.worktrees/bundling-v2-precompiled-registrars/src/Components/Visual/NotFound/NotFound.html +0 -24
- package/.worktrees/bundling-v2-precompiled-registrars/src/Components/Visual/NotFound/NotFound.js +0 -16
- package/.worktrees/bundling-v2-precompiled-registrars/src/Components/Visual/Route/Route.js +0 -93
- package/.worktrees/bundling-v2-precompiled-registrars/src/Components/Visual/Select/Select.css +0 -84
- package/.worktrees/bundling-v2-precompiled-registrars/src/Components/Visual/Select/Select.html +0 -8
- package/.worktrees/bundling-v2-precompiled-registrars/src/Components/Visual/Select/Select.js +0 -195
- package/.worktrees/bundling-v2-precompiled-registrars/src/Components/Visual/Switch/Switch.css +0 -76
- package/.worktrees/bundling-v2-precompiled-registrars/src/Components/Visual/Switch/Switch.html +0 -8
- package/.worktrees/bundling-v2-precompiled-registrars/src/Components/Visual/Switch/Switch.js +0 -102
- package/.worktrees/bundling-v2-precompiled-registrars/src/Components/Visual/TreeItem/TreeItem.css +0 -36
- package/.worktrees/bundling-v2-precompiled-registrars/src/Components/Visual/TreeItem/TreeItem.html +0 -1
- package/.worktrees/bundling-v2-precompiled-registrars/src/Components/Visual/TreeItem/TreeItem.js +0 -126
- package/.worktrees/bundling-v2-precompiled-registrars/src/Components/Visual/TreeView/TreeView.css +0 -8
- package/.worktrees/bundling-v2-precompiled-registrars/src/Components/Visual/TreeView/TreeView.html +0 -1
- package/.worktrees/bundling-v2-precompiled-registrars/src/Components/Visual/TreeView/TreeView.js +0 -48
- package/.worktrees/bundling-v2-precompiled-registrars/src/Components/components.js +0 -27
- package/.worktrees/bundling-v2-precompiled-registrars/src/Styles/sliceStyles.css +0 -34
- package/.worktrees/bundling-v2-precompiled-registrars/src/Themes/Dark.css +0 -42
- package/.worktrees/bundling-v2-precompiled-registrars/src/Themes/Light.css +0 -31
- package/.worktrees/bundling-v2-precompiled-registrars/src/Themes/Slice.css +0 -47
- package/.worktrees/bundling-v2-precompiled-registrars/src/images/Slice.js-logo.png +0 -0
- package/.worktrees/bundling-v2-precompiled-registrars/src/images/favicon.ico +0 -0
- package/.worktrees/bundling-v2-precompiled-registrars/src/images/im2/Slice.js-logo.png +0 -0
- package/.worktrees/bundling-v2-precompiled-registrars/src/routes.js +0 -16
- package/.worktrees/bundling-v2-precompiled-registrars/src/sliceConfig.json +0 -73
- package/.worktrees/bundling-v2-precompiled-registrars/src/testing.js +0 -888
- package/.worktrees/public-env-browser-exposure/LICENSE +0 -21
- package/.worktrees/public-env-browser-exposure/Slice/Components/Structural/ContextManager/ContextManager.js +0 -369
- package/.worktrees/public-env-browser-exposure/Slice/Components/Structural/ContextManager/ContextManagerDebugger.js +0 -297
- package/.worktrees/public-env-browser-exposure/Slice/Components/Structural/Controller/Controller.js +0 -972
- package/.worktrees/public-env-browser-exposure/Slice/Components/Structural/Debugger/Debugger.css +0 -620
- package/.worktrees/public-env-browser-exposure/Slice/Components/Structural/Debugger/Debugger.html +0 -73
- package/.worktrees/public-env-browser-exposure/Slice/Components/Structural/Debugger/Debugger.js +0 -1548
- package/.worktrees/public-env-browser-exposure/Slice/Components/Structural/EventManager/EventManager.js +0 -338
- package/.worktrees/public-env-browser-exposure/Slice/Components/Structural/EventManager/EventManagerDebugger.js +0 -361
- package/.worktrees/public-env-browser-exposure/Slice/Components/Structural/Logger/Log.js +0 -10
- package/.worktrees/public-env-browser-exposure/Slice/Components/Structural/Logger/Logger.js +0 -146
- package/.worktrees/public-env-browser-exposure/Slice/Components/Structural/Router/Router.js +0 -721
- package/.worktrees/public-env-browser-exposure/Slice/Components/Structural/StylesManager/StylesManager.js +0 -78
- package/.worktrees/public-env-browser-exposure/Slice/Components/Structural/StylesManager/ThemeManager/ThemeManager.js +0 -84
- package/.worktrees/public-env-browser-exposure/Slice/Slice.js +0 -533
- package/.worktrees/public-env-browser-exposure/Slice/tests/bundle-v2-runtime-contract.test.js +0 -268
- package/.worktrees/public-env-browser-exposure/Slice/tests/public-env-runtime-accessors.test.js +0 -44
- package/.worktrees/public-env-browser-exposure/Slice/tests/router-loading-finally.test.js +0 -68
- package/.worktrees/public-env-browser-exposure/api/index.js +0 -286
- package/.worktrees/public-env-browser-exposure/api/middleware/securityMiddleware.js +0 -253
- package/.worktrees/public-env-browser-exposure/api/tests/public-env-resolver.test.js +0 -193
- package/.worktrees/public-env-browser-exposure/api/utils/publicEnvResolver.js +0 -117
- package/.worktrees/public-env-browser-exposure/package.json +0 -37
- package/.worktrees/public-env-browser-exposure/sliceConfig.schema.json +0 -109
- package/.worktrees/public-env-browser-exposure/src/App/index.html +0 -22
- package/.worktrees/public-env-browser-exposure/src/App/index.js +0 -23
- package/.worktrees/public-env-browser-exposure/src/App/style.css +0 -40
- package/.worktrees/public-env-browser-exposure/src/Components/AppComponents/HomePage/HomePage.css +0 -201
- package/.worktrees/public-env-browser-exposure/src/Components/AppComponents/HomePage/HomePage.html +0 -37
- package/.worktrees/public-env-browser-exposure/src/Components/AppComponents/HomePage/HomePage.js +0 -210
- package/.worktrees/public-env-browser-exposure/src/Components/AppComponents/Playground/Playground.css +0 -12
- package/.worktrees/public-env-browser-exposure/src/Components/AppComponents/Playground/Playground.html +0 -0
- package/.worktrees/public-env-browser-exposure/src/Components/AppComponents/Playground/Playground.js +0 -111
- package/.worktrees/public-env-browser-exposure/src/Components/Service/FetchManager/FetchManager.js +0 -133
- package/.worktrees/public-env-browser-exposure/src/Components/Service/IndexedDbManager/IndexedDbManager.js +0 -141
- package/.worktrees/public-env-browser-exposure/src/Components/Service/LocalStorageManager/LocalStorageManager.js +0 -45
- package/.worktrees/public-env-browser-exposure/src/Components/Visual/Button/Button.css +0 -47
- package/.worktrees/public-env-browser-exposure/src/Components/Visual/Button/Button.html +0 -5
- package/.worktrees/public-env-browser-exposure/src/Components/Visual/Button/Button.js +0 -93
- package/.worktrees/public-env-browser-exposure/src/Components/Visual/Card/Card.css +0 -68
- package/.worktrees/public-env-browser-exposure/src/Components/Visual/Card/Card.html +0 -7
- package/.worktrees/public-env-browser-exposure/src/Components/Visual/Card/Card.js +0 -107
- package/.worktrees/public-env-browser-exposure/src/Components/Visual/Checkbox/Checkbox.css +0 -87
- package/.worktrees/public-env-browser-exposure/src/Components/Visual/Checkbox/Checkbox.html +0 -8
- package/.worktrees/public-env-browser-exposure/src/Components/Visual/Checkbox/Checkbox.js +0 -86
- package/.worktrees/public-env-browser-exposure/src/Components/Visual/CodeVisualizer/CodeVisualizer.css +0 -130
- package/.worktrees/public-env-browser-exposure/src/Components/Visual/CodeVisualizer/CodeVisualizer.html +0 -4
- package/.worktrees/public-env-browser-exposure/src/Components/Visual/CodeVisualizer/CodeVisualizer.js +0 -262
- package/.worktrees/public-env-browser-exposure/src/Components/Visual/Details/Details.css +0 -70
- package/.worktrees/public-env-browser-exposure/src/Components/Visual/Details/Details.html +0 -9
- package/.worktrees/public-env-browser-exposure/src/Components/Visual/Details/Details.js +0 -76
- package/.worktrees/public-env-browser-exposure/src/Components/Visual/DropDown/DropDown.css +0 -60
- package/.worktrees/public-env-browser-exposure/src/Components/Visual/DropDown/DropDown.html +0 -5
- package/.worktrees/public-env-browser-exposure/src/Components/Visual/DropDown/DropDown.js +0 -63
- package/.worktrees/public-env-browser-exposure/src/Components/Visual/Grid/Grid.css +0 -7
- package/.worktrees/public-env-browser-exposure/src/Components/Visual/Grid/Grid.html +0 -1
- package/.worktrees/public-env-browser-exposure/src/Components/Visual/Grid/Grid.js +0 -57
- package/.worktrees/public-env-browser-exposure/src/Components/Visual/Icon/Icon.css +0 -510
- package/.worktrees/public-env-browser-exposure/src/Components/Visual/Icon/Icon.html +0 -1
- package/.worktrees/public-env-browser-exposure/src/Components/Visual/Icon/Icon.js +0 -89
- package/.worktrees/public-env-browser-exposure/src/Components/Visual/Icon/slc.eot +0 -0
- package/.worktrees/public-env-browser-exposure/src/Components/Visual/Icon/slc.json +0 -555
- package/.worktrees/public-env-browser-exposure/src/Components/Visual/Icon/slc.styl +0 -507
- package/.worktrees/public-env-browser-exposure/src/Components/Visual/Icon/slc.svg +0 -1485
- package/.worktrees/public-env-browser-exposure/src/Components/Visual/Icon/slc.symbol.svg +0 -1059
- package/.worktrees/public-env-browser-exposure/src/Components/Visual/Icon/slc.ttf +0 -0
- package/.worktrees/public-env-browser-exposure/src/Components/Visual/Icon/slc.woff +0 -0
- package/.worktrees/public-env-browser-exposure/src/Components/Visual/Icon/slc.woff2 +0 -0
- package/.worktrees/public-env-browser-exposure/src/Components/Visual/Input/Input.css +0 -91
- package/.worktrees/public-env-browser-exposure/src/Components/Visual/Input/Input.html +0 -4
- package/.worktrees/public-env-browser-exposure/src/Components/Visual/Input/Input.js +0 -215
- package/.worktrees/public-env-browser-exposure/src/Components/Visual/Layout/Layout.css +0 -0
- package/.worktrees/public-env-browser-exposure/src/Components/Visual/Layout/Layout.html +0 -0
- package/.worktrees/public-env-browser-exposure/src/Components/Visual/Layout/Layout.js +0 -49
- package/.worktrees/public-env-browser-exposure/src/Components/Visual/Link/Link.css +0 -8
- package/.worktrees/public-env-browser-exposure/src/Components/Visual/Link/Link.html +0 -1
- package/.worktrees/public-env-browser-exposure/src/Components/Visual/Link/Link.js +0 -63
- package/.worktrees/public-env-browser-exposure/src/Components/Visual/Loading/Loading.css +0 -56
- package/.worktrees/public-env-browser-exposure/src/Components/Visual/Loading/Loading.html +0 -83
- package/.worktrees/public-env-browser-exposure/src/Components/Visual/Loading/Loading.js +0 -38
- package/.worktrees/public-env-browser-exposure/src/Components/Visual/MultiRoute/MultiRoute.js +0 -93
- package/.worktrees/public-env-browser-exposure/src/Components/Visual/Navbar/Navbar.css +0 -115
- package/.worktrees/public-env-browser-exposure/src/Components/Visual/Navbar/Navbar.html +0 -44
- package/.worktrees/public-env-browser-exposure/src/Components/Visual/Navbar/Navbar.js +0 -141
- package/.worktrees/public-env-browser-exposure/src/Components/Visual/NotFound/NotFound.css +0 -117
- package/.worktrees/public-env-browser-exposure/src/Components/Visual/NotFound/NotFound.html +0 -24
- package/.worktrees/public-env-browser-exposure/src/Components/Visual/NotFound/NotFound.js +0 -16
- package/.worktrees/public-env-browser-exposure/src/Components/Visual/Route/Route.js +0 -93
- package/.worktrees/public-env-browser-exposure/src/Components/Visual/Select/Select.css +0 -84
- package/.worktrees/public-env-browser-exposure/src/Components/Visual/Select/Select.html +0 -8
- package/.worktrees/public-env-browser-exposure/src/Components/Visual/Select/Select.js +0 -195
- package/.worktrees/public-env-browser-exposure/src/Components/Visual/Switch/Switch.css +0 -76
- package/.worktrees/public-env-browser-exposure/src/Components/Visual/Switch/Switch.html +0 -8
- package/.worktrees/public-env-browser-exposure/src/Components/Visual/Switch/Switch.js +0 -102
- package/.worktrees/public-env-browser-exposure/src/Components/Visual/TreeItem/TreeItem.css +0 -36
- package/.worktrees/public-env-browser-exposure/src/Components/Visual/TreeItem/TreeItem.html +0 -1
- package/.worktrees/public-env-browser-exposure/src/Components/Visual/TreeItem/TreeItem.js +0 -126
- package/.worktrees/public-env-browser-exposure/src/Components/Visual/TreeView/TreeView.css +0 -8
- package/.worktrees/public-env-browser-exposure/src/Components/Visual/TreeView/TreeView.html +0 -1
- package/.worktrees/public-env-browser-exposure/src/Components/Visual/TreeView/TreeView.js +0 -48
- package/.worktrees/public-env-browser-exposure/src/Components/components.js +0 -27
- package/.worktrees/public-env-browser-exposure/src/Styles/sliceStyles.css +0 -34
- package/.worktrees/public-env-browser-exposure/src/Themes/Dark.css +0 -42
- package/.worktrees/public-env-browser-exposure/src/Themes/Light.css +0 -31
- package/.worktrees/public-env-browser-exposure/src/Themes/Slice.css +0 -47
- package/.worktrees/public-env-browser-exposure/src/images/Slice.js-logo.png +0 -0
- package/.worktrees/public-env-browser-exposure/src/images/favicon.ico +0 -0
- package/.worktrees/public-env-browser-exposure/src/images/im2/Slice.js-logo.png +0 -0
- package/.worktrees/public-env-browser-exposure/src/routes.js +0 -16
- package/.worktrees/public-env-browser-exposure/src/sliceConfig.json +0 -73
- package/.worktrees/public-env-browser-exposure/src/testing.js +0 -888
|
@@ -1,37 +0,0 @@
|
|
|
1
|
-
<div class="home-page-container">
|
|
2
|
-
|
|
3
|
-
<section class="hero-section">
|
|
4
|
-
<div class="hero-content">
|
|
5
|
-
<div class="hero-badge">v2.4 · Vanilla JS Framework</div>
|
|
6
|
-
<h1 class="hero-title">Build your web app<br>one <span class="highlight">Slice</span> at a time</h1>
|
|
7
|
-
<p class="hero-sub">A lightweight, component-based framework for building web applications with vanilla JavaScript and web standards.</p>
|
|
8
|
-
<div class="hero-cta"></div>
|
|
9
|
-
<div class="hero-chips">
|
|
10
|
-
<span class="hero-chip">Button</span>
|
|
11
|
-
<span class="hero-chip">Input</span>
|
|
12
|
-
<span class="hero-chip">Switch</span>
|
|
13
|
-
<span class="hero-chip">Navbar</span>
|
|
14
|
-
<span class="hero-chip">Grid</span>
|
|
15
|
-
<span class="hero-chip">Card</span>
|
|
16
|
-
<span class="hero-chip">+ more</span>
|
|
17
|
-
</div>
|
|
18
|
-
</div>
|
|
19
|
-
</section>
|
|
20
|
-
|
|
21
|
-
<section class="features-section">
|
|
22
|
-
<div class="section-header">
|
|
23
|
-
<p class="section-label">Why Slice.js</p>
|
|
24
|
-
<h2 class="section-title">Everything you need, nothing you don't</h2>
|
|
25
|
-
</div>
|
|
26
|
-
<div class="feature-grid"></div>
|
|
27
|
-
</section>
|
|
28
|
-
|
|
29
|
-
<section class="showcase-section">
|
|
30
|
-
<div class="section-header">
|
|
31
|
-
<p class="section-label">Component Showcase</p>
|
|
32
|
-
<h2 class="section-title">Ready-to-use components</h2>
|
|
33
|
-
</div>
|
|
34
|
-
<div class="showcase-grid"></div>
|
|
35
|
-
</section>
|
|
36
|
-
|
|
37
|
-
</div>
|
|
@@ -1,210 +0,0 @@
|
|
|
1
|
-
export default class HomePage extends HTMLElement {
|
|
2
|
-
constructor(props) {
|
|
3
|
-
super();
|
|
4
|
-
slice.attachTemplate(this);
|
|
5
|
-
slice.controller.setComponentProps(this, props);
|
|
6
|
-
this.debuggerProps = [];
|
|
7
|
-
}
|
|
8
|
-
|
|
9
|
-
async init() {
|
|
10
|
-
await Promise.all([
|
|
11
|
-
this._buildNavbar(),
|
|
12
|
-
this._buildHeroCta(),
|
|
13
|
-
this._buildFeatures(),
|
|
14
|
-
this._buildShowcase(),
|
|
15
|
-
]);
|
|
16
|
-
}
|
|
17
|
-
|
|
18
|
-
async _buildNavbar() {
|
|
19
|
-
const navbar = await slice.build('Navbar', {
|
|
20
|
-
position: 'fixed',
|
|
21
|
-
logo: {
|
|
22
|
-
src: '/images/Slice.js-logo.png',
|
|
23
|
-
path: '/',
|
|
24
|
-
},
|
|
25
|
-
items: [
|
|
26
|
-
{ text: 'Home', path: '/' },
|
|
27
|
-
{ text: 'Playground', path: '/Playground' },
|
|
28
|
-
],
|
|
29
|
-
buttons: [
|
|
30
|
-
{
|
|
31
|
-
value: 'Change Theme',
|
|
32
|
-
onClickCallback: async () => {
|
|
33
|
-
const current = slice.stylesManager.themeManager.currentTheme;
|
|
34
|
-
const next = current === 'Slice' ? 'Light'
|
|
35
|
-
: current === 'Light' ? 'Dark'
|
|
36
|
-
: 'Slice';
|
|
37
|
-
await slice.setTheme(next);
|
|
38
|
-
},
|
|
39
|
-
},
|
|
40
|
-
],
|
|
41
|
-
});
|
|
42
|
-
this.insertBefore(navbar, this.firstChild);
|
|
43
|
-
}
|
|
44
|
-
|
|
45
|
-
async _buildHeroCta() {
|
|
46
|
-
const docsBtn = await slice.build('Button', {
|
|
47
|
-
value: 'Documentation',
|
|
48
|
-
onClickCallback: () =>
|
|
49
|
-
window.open('https://slice-js-docs.vercel.app/Documentation', '_blank'),
|
|
50
|
-
customColor: {
|
|
51
|
-
button: 'var(--primary-color)',
|
|
52
|
-
label: 'var(--primary-color-contrast)',
|
|
53
|
-
},
|
|
54
|
-
});
|
|
55
|
-
|
|
56
|
-
const componentsBtn = await slice.build('Button', {
|
|
57
|
-
value: 'Components Library',
|
|
58
|
-
onClickCallback: () =>
|
|
59
|
-
window.open('https://slice-js-docs.vercel.app/Documentation/Visual', '_blank'),
|
|
60
|
-
customColor: {
|
|
61
|
-
button: 'var(--secondary-background-color)',
|
|
62
|
-
label: 'var(--primary-color)',
|
|
63
|
-
},
|
|
64
|
-
});
|
|
65
|
-
|
|
66
|
-
const cta = this.querySelector('.hero-cta');
|
|
67
|
-
cta.appendChild(docsBtn);
|
|
68
|
-
cta.appendChild(componentsBtn);
|
|
69
|
-
}
|
|
70
|
-
|
|
71
|
-
async _buildFeatures() {
|
|
72
|
-
const features = [
|
|
73
|
-
{
|
|
74
|
-
title: 'Component-Based',
|
|
75
|
-
description: 'Build your app using modular, reusable components following web standards.',
|
|
76
|
-
},
|
|
77
|
-
{
|
|
78
|
-
title: 'Themeable',
|
|
79
|
-
description: 'Swap themes at runtime. Ships with Slice, Light, Dark and more.',
|
|
80
|
-
},
|
|
81
|
-
{
|
|
82
|
-
title: 'Lightweight',
|
|
83
|
-
description: 'No heavy runtime. Just vanilla JavaScript and web standards.',
|
|
84
|
-
},
|
|
85
|
-
{
|
|
86
|
-
title: 'Built-in Router',
|
|
87
|
-
description: 'Client-side routing with MultiRoute — no extra libraries needed.',
|
|
88
|
-
},
|
|
89
|
-
{
|
|
90
|
-
title: 'CLI Tools',
|
|
91
|
-
description: 'Scaffold projects, create components and build bundles from the command line.',
|
|
92
|
-
},
|
|
93
|
-
{
|
|
94
|
-
title: 'Services',
|
|
95
|
-
description: 'Built-in FetchManager, LocalStorage and IndexedDB integrations.',
|
|
96
|
-
},
|
|
97
|
-
];
|
|
98
|
-
|
|
99
|
-
const grid = this.querySelector('.feature-grid');
|
|
100
|
-
for (const { title, description } of features) {
|
|
101
|
-
const item = document.createElement('div');
|
|
102
|
-
item.classList.add('feature-item');
|
|
103
|
-
|
|
104
|
-
const h3 = document.createElement('h3');
|
|
105
|
-
h3.classList.add('feature-title');
|
|
106
|
-
h3.textContent = title;
|
|
107
|
-
|
|
108
|
-
const p = document.createElement('p');
|
|
109
|
-
p.classList.add('feature-description');
|
|
110
|
-
p.textContent = description;
|
|
111
|
-
|
|
112
|
-
item.appendChild(h3);
|
|
113
|
-
item.appendChild(p);
|
|
114
|
-
grid.appendChild(item);
|
|
115
|
-
}
|
|
116
|
-
}
|
|
117
|
-
|
|
118
|
-
async _buildShowcase() {
|
|
119
|
-
const grid = this.querySelector('.showcase-grid');
|
|
120
|
-
|
|
121
|
-
// Helper: wrap built components in a labeled card and append to grid
|
|
122
|
-
const addCard = (label, ...components) => {
|
|
123
|
-
const card = document.createElement('div');
|
|
124
|
-
card.classList.add('comp-card');
|
|
125
|
-
|
|
126
|
-
const labelEl = document.createElement('p');
|
|
127
|
-
labelEl.classList.add('comp-label');
|
|
128
|
-
labelEl.textContent = label;
|
|
129
|
-
|
|
130
|
-
const demo = document.createElement('div');
|
|
131
|
-
demo.classList.add('comp-demo');
|
|
132
|
-
components.forEach(c => demo.appendChild(c));
|
|
133
|
-
|
|
134
|
-
card.appendChild(labelEl);
|
|
135
|
-
card.appendChild(demo);
|
|
136
|
-
grid.appendChild(card);
|
|
137
|
-
};
|
|
138
|
-
|
|
139
|
-
// Button — primary + secondary variants
|
|
140
|
-
const [btnPrimary, btnSecondary] = await Promise.all([
|
|
141
|
-
slice.build('Button', {
|
|
142
|
-
value: 'Primary',
|
|
143
|
-
onClickCallback: () => {},
|
|
144
|
-
customColor: {
|
|
145
|
-
button: 'var(--primary-color)',
|
|
146
|
-
label: 'var(--primary-color-contrast)',
|
|
147
|
-
},
|
|
148
|
-
}),
|
|
149
|
-
slice.build('Button', {
|
|
150
|
-
value: 'Secondary',
|
|
151
|
-
onClickCallback: () => {},
|
|
152
|
-
customColor: {
|
|
153
|
-
button: 'var(--secondary-background-color)',
|
|
154
|
-
label: 'var(--primary-color)',
|
|
155
|
-
},
|
|
156
|
-
}),
|
|
157
|
-
]);
|
|
158
|
-
addCard('Button', btnPrimary, btnSecondary);
|
|
159
|
-
|
|
160
|
-
// Input
|
|
161
|
-
const input = await slice.build('Input', {
|
|
162
|
-
placeholder: 'Type something...',
|
|
163
|
-
type: 'text',
|
|
164
|
-
});
|
|
165
|
-
addCard('Input', input);
|
|
166
|
-
|
|
167
|
-
// Switch
|
|
168
|
-
const sw = await slice.build('Switch', {
|
|
169
|
-
label: 'Toggle me',
|
|
170
|
-
checked: true,
|
|
171
|
-
});
|
|
172
|
-
addCard('Switch', sw);
|
|
173
|
-
|
|
174
|
-
// Select — theme chooser
|
|
175
|
-
const themeOptions = [
|
|
176
|
-
{ name: 'Slice Theme' },
|
|
177
|
-
{ name: 'Light Theme' },
|
|
178
|
-
{ name: 'Dark Theme' },
|
|
179
|
-
{ name: 'Purple Theme' },
|
|
180
|
-
];
|
|
181
|
-
const select = await slice.build('Select', {
|
|
182
|
-
label: 'Pick a theme',
|
|
183
|
-
options: themeOptions,
|
|
184
|
-
visibleProp: 'name',
|
|
185
|
-
onOptionSelect: async (option) => {
|
|
186
|
-
if (!option) return;
|
|
187
|
-
const themeName = option.name.replace(' Theme', '');
|
|
188
|
-
await slice.setTheme(themeName);
|
|
189
|
-
},
|
|
190
|
-
});
|
|
191
|
-
addCard('Select', select);
|
|
192
|
-
|
|
193
|
-
// Loading — triggered by a demo button (Loading appends to document.body)
|
|
194
|
-
const loading = await slice.build('Loading', {});
|
|
195
|
-
const demoBtn = await slice.build('Button', {
|
|
196
|
-
value: 'Demo Loading',
|
|
197
|
-
onClickCallback: () => {
|
|
198
|
-
loading.start();
|
|
199
|
-
setTimeout(() => loading.stop(), 1500);
|
|
200
|
-
},
|
|
201
|
-
customColor: {
|
|
202
|
-
button: 'var(--primary-color)',
|
|
203
|
-
label: 'var(--primary-color-contrast)',
|
|
204
|
-
},
|
|
205
|
-
});
|
|
206
|
-
addCard('Loading', demoBtn);
|
|
207
|
-
}
|
|
208
|
-
}
|
|
209
|
-
|
|
210
|
-
customElements.define('slice-home-page', HomePage);
|
|
File without changes
|
|
@@ -1,111 +0,0 @@
|
|
|
1
|
-
export default class Playground extends HTMLElement {
|
|
2
|
-
constructor(props) {
|
|
3
|
-
super();
|
|
4
|
-
slice.attachTemplate(this);
|
|
5
|
-
|
|
6
|
-
slice.controller.setComponentProps(this, props);
|
|
7
|
-
this.debuggerProps = [];
|
|
8
|
-
}
|
|
9
|
-
|
|
10
|
-
async init() {
|
|
11
|
-
let theme = slice.stylesManager.themeManager.currentTheme;
|
|
12
|
-
|
|
13
|
-
const navBar = await slice.build('Navbar', {
|
|
14
|
-
// position: "fixed",
|
|
15
|
-
logo: {
|
|
16
|
-
src: '/images/Slice.js-logo.png',
|
|
17
|
-
path: '/',
|
|
18
|
-
},
|
|
19
|
-
items: [
|
|
20
|
-
{
|
|
21
|
-
text: 'Home',
|
|
22
|
-
path: '/',
|
|
23
|
-
},
|
|
24
|
-
{
|
|
25
|
-
text: 'Playground',
|
|
26
|
-
path: '/Playground',
|
|
27
|
-
},
|
|
28
|
-
],
|
|
29
|
-
buttons: [
|
|
30
|
-
{
|
|
31
|
-
value: 'Change Theme',
|
|
32
|
-
// color:
|
|
33
|
-
onClickCallback: async () => {
|
|
34
|
-
if (theme === 'Slice') {
|
|
35
|
-
await slice.setTheme('Light');
|
|
36
|
-
theme = 'Light';
|
|
37
|
-
} else if (theme === 'Light') {
|
|
38
|
-
await slice.setTheme('Dark');
|
|
39
|
-
theme = 'Dark';
|
|
40
|
-
} else if (theme === 'Dark') {
|
|
41
|
-
await slice.setTheme('Slice');
|
|
42
|
-
theme = 'Slice';
|
|
43
|
-
}
|
|
44
|
-
},
|
|
45
|
-
},
|
|
46
|
-
],
|
|
47
|
-
});
|
|
48
|
-
|
|
49
|
-
this.appendChild(navBar);
|
|
50
|
-
|
|
51
|
-
const sliceButton = await slice.build('Button', {
|
|
52
|
-
value: 'Slice',
|
|
53
|
-
});
|
|
54
|
-
const sliceInput = await slice.build('Input', {
|
|
55
|
-
placeholder: 'Enter text here...',
|
|
56
|
-
});
|
|
57
|
-
const checkbox = await slice.build('Checkbox', {
|
|
58
|
-
label: 'Check',
|
|
59
|
-
position: 'top',
|
|
60
|
-
});
|
|
61
|
-
|
|
62
|
-
const sliceSwitch = await slice.build('Switch', {
|
|
63
|
-
label: 'Switch',
|
|
64
|
-
labelPlacement: 'left',
|
|
65
|
-
});
|
|
66
|
-
const select = await slice.build('Select', {
|
|
67
|
-
options: [
|
|
68
|
-
{ value: 'Hola', id: 0 },
|
|
69
|
-
{ value: 'Hello', id: 1 },
|
|
70
|
-
{ value: 'Hallo', id: 2 },
|
|
71
|
-
{ value: 'Hi', id: 3 },
|
|
72
|
-
{ value: 'Hola', id: 4 },
|
|
73
|
-
{ value: 'Hello', id: 5 },
|
|
74
|
-
{ value: 'Hallo', id: 6 },
|
|
75
|
-
{ value: 'Hi', id: 7 },
|
|
76
|
-
],
|
|
77
|
-
visibleProp: 'id',
|
|
78
|
-
label: 'Elige una opcion',
|
|
79
|
-
multiple: true,
|
|
80
|
-
});
|
|
81
|
-
const sliceCard = await slice.build('Card', {
|
|
82
|
-
sliceId: 'prueba',
|
|
83
|
-
});
|
|
84
|
-
const details = await slice.build('Details', {
|
|
85
|
-
title: 'Slice',
|
|
86
|
-
text: 'Slice details text',
|
|
87
|
-
});
|
|
88
|
-
|
|
89
|
-
const grid = document.createElement('div');
|
|
90
|
-
grid.classList.add('indexGrid');
|
|
91
|
-
|
|
92
|
-
sliceButton.classList.add('indexGridItem');
|
|
93
|
-
sliceInput.classList.add('indexGridItem');
|
|
94
|
-
sliceSwitch.classList.add('indexGridItem');
|
|
95
|
-
select.classList.add('indexGridItem');
|
|
96
|
-
checkbox.classList.add('indexGridItem');
|
|
97
|
-
details.classList.add('indexGridItem');
|
|
98
|
-
|
|
99
|
-
grid.appendChild(sliceButton);
|
|
100
|
-
grid.appendChild(sliceInput);
|
|
101
|
-
grid.appendChild(sliceSwitch);
|
|
102
|
-
grid.appendChild(select);
|
|
103
|
-
grid.appendChild(checkbox);
|
|
104
|
-
grid.appendChild(sliceCard);
|
|
105
|
-
grid.appendChild(details);
|
|
106
|
-
|
|
107
|
-
this.appendChild(grid);
|
|
108
|
-
}
|
|
109
|
-
}
|
|
110
|
-
|
|
111
|
-
customElements.define('slice-playground', Playground);
|
|
@@ -1,133 +0,0 @@
|
|
|
1
|
-
export default class FetchManager {
|
|
2
|
-
constructor(props) {
|
|
3
|
-
const { baseUrl, timeout } = props;
|
|
4
|
-
if (baseUrl !== undefined) {
|
|
5
|
-
this.baseUrl = baseUrl;
|
|
6
|
-
}
|
|
7
|
-
this.methods = ['GET', 'POST', 'PUT', 'DELETE'];
|
|
8
|
-
this.lastRequest = null;
|
|
9
|
-
this.cacheEnabled = false;
|
|
10
|
-
this.defaultHeaders = {};
|
|
11
|
-
timeout ? (this.timeout = timeout) : (this.timeout = 10000);
|
|
12
|
-
}
|
|
13
|
-
|
|
14
|
-
async request(
|
|
15
|
-
method,
|
|
16
|
-
data,
|
|
17
|
-
endpoint,
|
|
18
|
-
onRequestSuccess,
|
|
19
|
-
onRequestError,
|
|
20
|
-
refetchOnError = false,
|
|
21
|
-
requestOptions = {}
|
|
22
|
-
) {
|
|
23
|
-
if (!this.methods.includes(method)) throw new Error('Invalid method');
|
|
24
|
-
if (data && typeof data !== 'object') throw new Error('Invalid data, not JSON');
|
|
25
|
-
const controller = new AbortController();
|
|
26
|
-
|
|
27
|
-
let options;
|
|
28
|
-
if (method !== 'GET') {
|
|
29
|
-
options = {
|
|
30
|
-
method: method,
|
|
31
|
-
headers: {
|
|
32
|
-
'Content-Type': 'application/json',
|
|
33
|
-
...this.defaultHeaders,
|
|
34
|
-
...requestOptions.headers,
|
|
35
|
-
},
|
|
36
|
-
signal: controller.signal,
|
|
37
|
-
};
|
|
38
|
-
} else {
|
|
39
|
-
options = {
|
|
40
|
-
method: method,
|
|
41
|
-
headers: {
|
|
42
|
-
...this.defaultHeaders,
|
|
43
|
-
...requestOptions.headers,
|
|
44
|
-
},
|
|
45
|
-
signal: controller.signal,
|
|
46
|
-
};
|
|
47
|
-
}
|
|
48
|
-
|
|
49
|
-
if (data) {
|
|
50
|
-
options.body = JSON.stringify(data);
|
|
51
|
-
}
|
|
52
|
-
|
|
53
|
-
let loading;
|
|
54
|
-
if (!slice.controller.getComponent('Loading')) {
|
|
55
|
-
loading = await slice.build('Loading', { sliceId: 'Loading' });
|
|
56
|
-
} else {
|
|
57
|
-
loading = slice.controller.getComponent('Loading');
|
|
58
|
-
}
|
|
59
|
-
loading.start();
|
|
60
|
-
const timeoutId = setTimeout(() => controller.abort(), this.timeout || 10000);
|
|
61
|
-
|
|
62
|
-
try {
|
|
63
|
-
let response;
|
|
64
|
-
|
|
65
|
-
// Check if cache is enabled and a cached response exists
|
|
66
|
-
if (this.cacheEnabled && this.lastRequest && this.lastRequest.endpoint === endpoint) {
|
|
67
|
-
return this.lastRequest.response;
|
|
68
|
-
}
|
|
69
|
-
|
|
70
|
-
if (this.baseUrl !== undefined) {
|
|
71
|
-
response = await fetch(this.baseUrl + endpoint, options);
|
|
72
|
-
} else {
|
|
73
|
-
response = await fetch(endpoint, options);
|
|
74
|
-
}
|
|
75
|
-
|
|
76
|
-
if (response.ok) {
|
|
77
|
-
if (typeof onRequestSuccess === 'function') {
|
|
78
|
-
onRequestSuccess(data, response);
|
|
79
|
-
}
|
|
80
|
-
} else {
|
|
81
|
-
if (typeof onRequestError === 'function') {
|
|
82
|
-
onRequestError(data, response);
|
|
83
|
-
}
|
|
84
|
-
if (refetchOnError) {
|
|
85
|
-
// Retry the request in case of error
|
|
86
|
-
return await this.request(
|
|
87
|
-
method,
|
|
88
|
-
data,
|
|
89
|
-
endpoint,
|
|
90
|
-
onRequestSuccess,
|
|
91
|
-
onRequestError,
|
|
92
|
-
refetchOnError,
|
|
93
|
-
requestOptions
|
|
94
|
-
);
|
|
95
|
-
}
|
|
96
|
-
}
|
|
97
|
-
|
|
98
|
-
let output = await response.json();
|
|
99
|
-
loading.stop();
|
|
100
|
-
|
|
101
|
-
// Cache the response if cache is enabled
|
|
102
|
-
if (this.cacheEnabled) {
|
|
103
|
-
this.lastRequest = { data, response, endpoint };
|
|
104
|
-
}
|
|
105
|
-
|
|
106
|
-
return output;
|
|
107
|
-
} catch (error) {
|
|
108
|
-
if (error.message === 'Failed to fetch') {
|
|
109
|
-
slice.logger.logError('Se perdió la conexión a internet');
|
|
110
|
-
} else {
|
|
111
|
-
console.error('Error al realizar la solicitud:', error);
|
|
112
|
-
}
|
|
113
|
-
loading.stop();
|
|
114
|
-
throw error;
|
|
115
|
-
} finally {
|
|
116
|
-
clearTimeout(timeoutId);
|
|
117
|
-
}
|
|
118
|
-
}
|
|
119
|
-
|
|
120
|
-
// Enable or disable caching of responses
|
|
121
|
-
enableCache() {
|
|
122
|
-
this.cacheEnabled = true;
|
|
123
|
-
}
|
|
124
|
-
|
|
125
|
-
disableCache() {
|
|
126
|
-
this.cacheEnabled = false;
|
|
127
|
-
}
|
|
128
|
-
|
|
129
|
-
// Set default headers for all requests
|
|
130
|
-
setDefaultHeaders(headers) {
|
|
131
|
-
this.defaultHeaders = headers;
|
|
132
|
-
}
|
|
133
|
-
}
|
|
@@ -1,141 +0,0 @@
|
|
|
1
|
-
export default class IndexedDbManager {
|
|
2
|
-
constructor(databaseName, storeName) {
|
|
3
|
-
this.databaseName = databaseName;
|
|
4
|
-
this.storeName = storeName;
|
|
5
|
-
this.db = null;
|
|
6
|
-
}
|
|
7
|
-
|
|
8
|
-
async openDatabase() {
|
|
9
|
-
return new Promise((resolve, reject) => {
|
|
10
|
-
const request = indexedDB.open(this.databaseName);
|
|
11
|
-
|
|
12
|
-
request.onupgradeneeded = (event) => {
|
|
13
|
-
const db = event.target.result;
|
|
14
|
-
if (!db.objectStoreNames.contains(this.storeName)) {
|
|
15
|
-
db.createObjectStore(this.storeName, {
|
|
16
|
-
keyPath: 'id',
|
|
17
|
-
autoIncrement: true,
|
|
18
|
-
});
|
|
19
|
-
}
|
|
20
|
-
};
|
|
21
|
-
|
|
22
|
-
request.onsuccess = (event) => {
|
|
23
|
-
this.db = event.target.result;
|
|
24
|
-
resolve(this.db);
|
|
25
|
-
};
|
|
26
|
-
|
|
27
|
-
request.onerror = (event) => {
|
|
28
|
-
reject(new Error(`Error opening IndexedDB: ${event.target.error}`));
|
|
29
|
-
};
|
|
30
|
-
});
|
|
31
|
-
}
|
|
32
|
-
|
|
33
|
-
closeDatabase() {
|
|
34
|
-
if (this.db) {
|
|
35
|
-
this.db.close();
|
|
36
|
-
this.db = null;
|
|
37
|
-
}
|
|
38
|
-
}
|
|
39
|
-
|
|
40
|
-
async addItem(item) {
|
|
41
|
-
const db = await this.openDatabase();
|
|
42
|
-
return new Promise((resolve, reject) => {
|
|
43
|
-
const transaction = db.transaction([this.storeName], 'readwrite');
|
|
44
|
-
const store = transaction.objectStore(this.storeName);
|
|
45
|
-
const request = store.add(item);
|
|
46
|
-
|
|
47
|
-
request.onsuccess = () => {
|
|
48
|
-
resolve(request.result);
|
|
49
|
-
};
|
|
50
|
-
|
|
51
|
-
request.onerror = (event) => {
|
|
52
|
-
reject(new Error(`Error adding item to IndexedDB: ${event.target.error}`));
|
|
53
|
-
};
|
|
54
|
-
});
|
|
55
|
-
}
|
|
56
|
-
|
|
57
|
-
async updateItem(item) {
|
|
58
|
-
const db = await this.openDatabase();
|
|
59
|
-
return new Promise((resolve, reject) => {
|
|
60
|
-
const transaction = db.transaction([this.storeName], 'readwrite');
|
|
61
|
-
const store = transaction.objectStore(this.storeName);
|
|
62
|
-
const request = store.put(item);
|
|
63
|
-
|
|
64
|
-
request.onsuccess = () => {
|
|
65
|
-
resolve(request.result);
|
|
66
|
-
};
|
|
67
|
-
|
|
68
|
-
request.onerror = (event) => {
|
|
69
|
-
reject(new Error(`Error updating item in IndexedDB: ${event.target.error}`));
|
|
70
|
-
};
|
|
71
|
-
});
|
|
72
|
-
}
|
|
73
|
-
|
|
74
|
-
async getItem(id) {
|
|
75
|
-
const db = await this.openDatabase();
|
|
76
|
-
return new Promise((resolve, reject) => {
|
|
77
|
-
const transaction = db.transaction([this.storeName], 'readonly');
|
|
78
|
-
const store = transaction.objectStore(this.storeName);
|
|
79
|
-
const request = store.get(id);
|
|
80
|
-
|
|
81
|
-
request.onsuccess = () => {
|
|
82
|
-
resolve(request.result);
|
|
83
|
-
};
|
|
84
|
-
|
|
85
|
-
request.onerror = (event) => {
|
|
86
|
-
reject(new Error(`Error getting item from IndexedDB: ${event.target.error}`));
|
|
87
|
-
};
|
|
88
|
-
});
|
|
89
|
-
}
|
|
90
|
-
|
|
91
|
-
async deleteItem(id) {
|
|
92
|
-
const db = await this.openDatabase();
|
|
93
|
-
return new Promise((resolve, reject) => {
|
|
94
|
-
const transaction = db.transaction([this.storeName], 'readwrite');
|
|
95
|
-
const store = transaction.objectStore(this.storeName);
|
|
96
|
-
const request = store.delete(id);
|
|
97
|
-
|
|
98
|
-
request.onsuccess = () => {
|
|
99
|
-
resolve();
|
|
100
|
-
};
|
|
101
|
-
|
|
102
|
-
request.onerror = (event) => {
|
|
103
|
-
reject(new Error(`Error deleting item from IndexedDB: ${event.target.error}`));
|
|
104
|
-
};
|
|
105
|
-
});
|
|
106
|
-
}
|
|
107
|
-
|
|
108
|
-
async getAllItems() {
|
|
109
|
-
const db = await this.openDatabase();
|
|
110
|
-
return new Promise((resolve, reject) => {
|
|
111
|
-
const transaction = db.transaction([this.storeName], 'readonly');
|
|
112
|
-
const store = transaction.objectStore(this.storeName);
|
|
113
|
-
const request = store.getAll();
|
|
114
|
-
|
|
115
|
-
request.onsuccess = () => {
|
|
116
|
-
resolve(request.result);
|
|
117
|
-
};
|
|
118
|
-
|
|
119
|
-
request.onerror = (event) => {
|
|
120
|
-
reject(new Error(`Error getting items from IndexedDB: ${event.target.error}`));
|
|
121
|
-
};
|
|
122
|
-
});
|
|
123
|
-
}
|
|
124
|
-
|
|
125
|
-
async clearItems() {
|
|
126
|
-
const db = await this.openDatabase();
|
|
127
|
-
return new Promise((resolve, reject) => {
|
|
128
|
-
const transaction = db.transaction([this.storeName], 'readwrite');
|
|
129
|
-
const store = transaction.objectStore(this.storeName);
|
|
130
|
-
const request = store.clear();
|
|
131
|
-
|
|
132
|
-
request.onsuccess = () => {
|
|
133
|
-
resolve();
|
|
134
|
-
};
|
|
135
|
-
|
|
136
|
-
request.onerror = (event) => {
|
|
137
|
-
reject(new Error(`Error clearing items in IndexedDB: ${event.target.error}`));
|
|
138
|
-
};
|
|
139
|
-
});
|
|
140
|
-
}
|
|
141
|
-
}
|
|
@@ -1,45 +0,0 @@
|
|
|
1
|
-
export default class LocalStorageManager {
|
|
2
|
-
constructor() {
|
|
3
|
-
// No se necesitan propiedades en este caso
|
|
4
|
-
}
|
|
5
|
-
|
|
6
|
-
getItem(key) {
|
|
7
|
-
try {
|
|
8
|
-
const item = localStorage.getItem(key);
|
|
9
|
-
return item ? JSON.parse(item) : null;
|
|
10
|
-
} catch (error) {
|
|
11
|
-
console.error(`Error getting item from localStorage: ${error.message}`);
|
|
12
|
-
return null;
|
|
13
|
-
}
|
|
14
|
-
}
|
|
15
|
-
|
|
16
|
-
setItem(key, value) {
|
|
17
|
-
try {
|
|
18
|
-
localStorage.setItem(key, JSON.stringify(value));
|
|
19
|
-
return true;
|
|
20
|
-
} catch (error) {
|
|
21
|
-
console.error(`Error setting item in localStorage: ${error.message}`);
|
|
22
|
-
return false;
|
|
23
|
-
}
|
|
24
|
-
}
|
|
25
|
-
|
|
26
|
-
removeItem(key) {
|
|
27
|
-
try {
|
|
28
|
-
localStorage.removeItem(key);
|
|
29
|
-
return true;
|
|
30
|
-
} catch (error) {
|
|
31
|
-
console.error(`Error removing item from localStorage: ${error.message}`);
|
|
32
|
-
return false;
|
|
33
|
-
}
|
|
34
|
-
}
|
|
35
|
-
|
|
36
|
-
clear() {
|
|
37
|
-
try {
|
|
38
|
-
localStorage.clear();
|
|
39
|
-
return true;
|
|
40
|
-
} catch (error) {
|
|
41
|
-
console.error(`Error clearing localStorage: ${error.message}`);
|
|
42
|
-
return false;
|
|
43
|
-
}
|
|
44
|
-
}
|
|
45
|
-
}
|