gitextract_d7cte0cf/ ├── .babelrc.json ├── .cspell.json ├── .dockerignore ├── .eslintrc.cjs ├── .gitattributes ├── .github/ │ ├── ISSUE_TEMPLATE/ │ │ ├── bug_report.yml │ │ └── feature_request.yml │ └── workflows/ │ └── push.yml ├── .gitignore ├── .npmignore ├── .npmrc ├── .prettierrc ├── .releaserc ├── CODE_OF_CONDUCT.md ├── CONTRIBUTING.md ├── LICENSE.md ├── README.md ├── UPGRADE-6.0.md ├── bin/ │ ├── app.js │ └── globals.js ├── cli.js ├── commitlint.config.cjs ├── cy/ │ ├── commands/ │ │ ├── ab-get-property.js │ │ ├── ab-keep-logged-in.js │ │ ├── ab-login-api.js │ │ └── ab-login.js │ ├── cypress.doc.md │ ├── index.d.ts │ ├── index.js │ └── readme.md ├── index.d.ts ├── index.js ├── package.json ├── project.inlang/ │ ├── project_id │ └── settings.json ├── spec/ │ ├── backend/ │ │ ├── helpers/ │ │ │ ├── helper-stub.ts │ │ │ └── resource-stub.ts │ │ └── index.js │ ├── fixtures/ │ │ ├── action.factory.js │ │ ├── example-component.js │ │ ├── property.factory.js │ │ └── record.factory.js │ ├── index.js │ ├── lib.js │ └── setup.js ├── src/ │ ├── adminjs-options.interface.ts │ ├── adminjs.spec.ts │ ├── adminjs.ts │ ├── babel.test.config.json │ ├── backend/ │ │ ├── actions/ │ │ │ ├── action.interface.ts │ │ │ ├── bulk-delete/ │ │ │ │ ├── bulk-delete-action.spec.ts │ │ │ │ └── bulk-delete-action.ts │ │ │ ├── delete/ │ │ │ │ ├── delete-action.spec.ts │ │ │ │ └── delete-action.ts │ │ │ ├── edit/ │ │ │ │ └── edit-action.ts │ │ │ ├── index.ts │ │ │ ├── list/ │ │ │ │ └── list-action.ts │ │ │ ├── new/ │ │ │ │ └── new-action.ts │ │ │ ├── search/ │ │ │ │ └── search-action.ts │ │ │ └── show/ │ │ │ └── show-action.ts │ │ ├── adapters/ │ │ │ ├── database/ │ │ │ │ ├── base-database.ts │ │ │ │ └── index.ts │ │ │ ├── index.ts │ │ │ ├── property/ │ │ │ │ ├── base-property.ts │ │ │ │ └── index.ts │ │ │ ├── record/ │ │ │ │ ├── base-record.spec.ts │ │ │ │ ├── base-record.ts │ │ │ │ ├── index.ts │ │ │ │ └── params.type.ts │ │ │ └── resource/ │ │ │ ├── base-resource.spec.ts │ │ │ ├── base-resource.ts │ │ │ ├── index.ts │ │ │ └── supported-databases.type.ts │ │ ├── bundler/ │ │ │ ├── app.bundler.ts │ │ │ ├── components.bundler.ts │ │ │ ├── generate-user-component-entry.spec.js │ │ │ ├── generate-user-component-entry.ts │ │ │ ├── globals.bundler.ts │ │ │ ├── index.ts │ │ │ └── utils/ │ │ │ ├── asset-bundler.ts │ │ │ └── constants.ts │ │ ├── controllers/ │ │ │ ├── api-controller.spec.js │ │ │ ├── api-controller.ts │ │ │ ├── app-controller.ts │ │ │ └── index.ts │ │ ├── decorators/ │ │ │ ├── action/ │ │ │ │ ├── action-decorator.spec.ts │ │ │ │ ├── action-decorator.ts │ │ │ │ └── index.ts │ │ │ ├── index.ts │ │ │ ├── property/ │ │ │ │ ├── index.ts │ │ │ │ ├── property-decorator.spec.ts │ │ │ │ ├── property-decorator.ts │ │ │ │ ├── property-options.interface.ts │ │ │ │ └── utils/ │ │ │ │ ├── index.ts │ │ │ │ ├── override-from-options.spec.ts │ │ │ │ └── override-from-options.ts │ │ │ └── resource/ │ │ │ ├── index.ts │ │ │ ├── resource-decorator.spec.ts │ │ │ ├── resource-decorator.ts │ │ │ ├── resource-options.interface.ts │ │ │ └── utils/ │ │ │ ├── decorate-actions.ts │ │ │ ├── decorate-properties.spec.ts │ │ │ ├── decorate-properties.ts │ │ │ ├── find-sub-property.ts │ │ │ ├── flat-sub-properties.ts │ │ │ ├── get-navigation.spec.ts │ │ │ ├── get-navigation.ts │ │ │ ├── get-property-by-key.ts │ │ │ └── index.ts │ │ ├── index.ts │ │ ├── services/ │ │ │ ├── action-error-handler/ │ │ │ │ ├── action-error-handler.spec.ts │ │ │ │ ├── action-error-handler.ts │ │ │ │ └── index.ts │ │ │ ├── index.ts │ │ │ └── sort-setter/ │ │ │ ├── index.ts │ │ │ ├── sort-setter.spec.js │ │ │ └── sort-setter.ts │ │ └── utils/ │ │ ├── auth/ │ │ │ ├── base-auth-provider.ts │ │ │ ├── default-auth-provider.ts │ │ │ └── index.ts │ │ ├── build-feature/ │ │ │ ├── build-feature.spec.ts │ │ │ ├── build-feature.ts │ │ │ └── index.ts │ │ ├── component-loader.ts │ │ ├── errors/ │ │ │ ├── app-error.ts │ │ │ ├── configuration-error.ts │ │ │ ├── forbidden-error.ts │ │ │ ├── index.ts │ │ │ ├── not-found-error.ts │ │ │ ├── not-implemented-error.ts │ │ │ ├── record-error.ts │ │ │ └── validation-error.ts │ │ ├── filter/ │ │ │ ├── filter.ts │ │ │ └── index.ts │ │ ├── index.ts │ │ ├── layout-element-parser/ │ │ │ ├── index.ts │ │ │ ├── layout-element-parser.spec.ts │ │ │ ├── layout-element-parser.ts │ │ │ └── layout-element.doc.md │ │ ├── options-parser/ │ │ │ ├── index.ts │ │ │ └── options-parser.ts │ │ ├── populator/ │ │ │ ├── index.ts │ │ │ ├── populate-property.spec.ts │ │ │ ├── populate-property.ts │ │ │ ├── populator.doc.md │ │ │ ├── populator.spec.ts │ │ │ └── populator.ts │ │ ├── request-parser/ │ │ │ ├── index.ts │ │ │ ├── request-parser.spec.ts │ │ │ └── request-parser.ts │ │ ├── resources-factory/ │ │ │ ├── index.ts │ │ │ ├── resources-factory.spec.js │ │ │ └── resources-factory.ts │ │ ├── router/ │ │ │ ├── index.ts │ │ │ ├── router.doc.md │ │ │ ├── router.spec.ts │ │ │ └── router.ts │ │ ├── uploaded-file.type.ts │ │ └── view-helpers/ │ │ ├── index.ts │ │ ├── view-helpers.spec.ts │ │ └── view-helpers.ts │ ├── constants.ts │ ├── core-scripts.interface.ts │ ├── current-admin.interface.ts │ ├── frontend/ │ │ ├── assets/ │ │ │ └── styles/ │ │ │ └── icomoon.css │ │ ├── bundle-entry.jsx │ │ ├── components/ │ │ │ ├── actions/ │ │ │ │ ├── action.props.ts │ │ │ │ ├── bulk-delete.tsx │ │ │ │ ├── edit.tsx │ │ │ │ ├── index.ts │ │ │ │ ├── list.tsx │ │ │ │ ├── new.tsx │ │ │ │ ├── show.tsx │ │ │ │ └── utils/ │ │ │ │ ├── append-force-refresh.spec.ts │ │ │ │ ├── append-force-refresh.ts │ │ │ │ ├── index.ts │ │ │ │ └── layout-element-renderer.tsx │ │ │ ├── app/ │ │ │ │ ├── action-button/ │ │ │ │ │ ├── action-button.tsx │ │ │ │ │ └── index.ts │ │ │ │ ├── action-header/ │ │ │ │ │ ├── action-header-props.tsx │ │ │ │ │ ├── action-header.tsx │ │ │ │ │ ├── actions-to-button-group.spec.ts │ │ │ │ │ ├── actions-to-button-group.ts │ │ │ │ │ ├── index.ts │ │ │ │ │ └── styled-back-button.tsx │ │ │ │ ├── admin-modal.tsx │ │ │ │ ├── app-loader.tsx │ │ │ │ ├── auth-background-component.tsx │ │ │ │ ├── base-action-component.tsx │ │ │ │ ├── breadcrumbs.tsx │ │ │ │ ├── default-dashboard.tsx │ │ │ │ ├── drawer-portal.tsx │ │ │ │ ├── error-boundary.tsx │ │ │ │ ├── error-message.tsx │ │ │ │ ├── filter-drawer.tsx │ │ │ │ ├── footer.tsx │ │ │ │ ├── index.ts │ │ │ │ ├── language-select/ │ │ │ │ │ ├── index.ts │ │ │ │ │ └── language-select.tsx │ │ │ │ ├── logged-in.tsx │ │ │ │ ├── notice.tsx │ │ │ │ ├── records-table/ │ │ │ │ │ ├── index.ts │ │ │ │ │ ├── no-records.tsx │ │ │ │ │ ├── property-header.spec.tsx │ │ │ │ │ ├── property-header.tsx │ │ │ │ │ ├── record-in-list.tsx │ │ │ │ │ ├── records-table-header.spec.tsx │ │ │ │ │ ├── records-table-header.tsx │ │ │ │ │ ├── records-table.spec.tsx │ │ │ │ │ ├── records-table.tsx │ │ │ │ │ ├── selected-records.tsx │ │ │ │ │ └── utils/ │ │ │ │ │ ├── display.tsx │ │ │ │ │ ├── get-bulk-actions-from-records.spec.ts │ │ │ │ │ └── get-bulk-actions-from-records.ts │ │ │ │ ├── sidebar/ │ │ │ │ │ ├── index.ts │ │ │ │ │ ├── sidebar-branding.tsx │ │ │ │ │ ├── sidebar-footer.tsx │ │ │ │ │ ├── sidebar-pages.tsx │ │ │ │ │ ├── sidebar-resource-section.tsx │ │ │ │ │ └── sidebar.tsx │ │ │ │ ├── sort-link.tsx │ │ │ │ ├── top-bar.tsx │ │ │ │ ├── utils/ │ │ │ │ │ ├── discord-logo-svg.tsx │ │ │ │ │ └── rocket-svg.tsx │ │ │ │ └── version.tsx │ │ │ ├── application.tsx │ │ │ ├── index.ts │ │ │ ├── login/ │ │ │ │ └── index.tsx │ │ │ ├── property-type/ │ │ │ │ ├── array/ │ │ │ │ │ ├── add-new-item-translation.tsx │ │ │ │ │ ├── convert-to-sub-property.tsx │ │ │ │ │ ├── edit.spec.tsx │ │ │ │ │ ├── edit.tsx │ │ │ │ │ ├── index.ts │ │ │ │ │ ├── list.tsx │ │ │ │ │ ├── remove-sub-property.spec.ts │ │ │ │ │ ├── remove-sub-property.ts │ │ │ │ │ └── show.tsx │ │ │ │ ├── base-property-component.doc.md │ │ │ │ ├── base-property-component.tsx │ │ │ │ ├── base-property-props.ts │ │ │ │ ├── boolean/ │ │ │ │ │ ├── boolean-property-value.tsx │ │ │ │ │ ├── edit.tsx │ │ │ │ │ ├── filter.tsx │ │ │ │ │ ├── index.ts │ │ │ │ │ ├── list.tsx │ │ │ │ │ ├── map-value.tsx │ │ │ │ │ └── show.tsx │ │ │ │ ├── clean-property-component.tsx │ │ │ │ ├── currency/ │ │ │ │ │ ├── currency-input-wrapper.tsx │ │ │ │ │ ├── edit.tsx │ │ │ │ │ ├── filter.tsx │ │ │ │ │ ├── format-value.ts │ │ │ │ │ ├── index.ts │ │ │ │ │ ├── list.tsx │ │ │ │ │ └── show.tsx │ │ │ │ ├── datetime/ │ │ │ │ │ ├── edit.tsx │ │ │ │ │ ├── filter.tsx │ │ │ │ │ ├── index.ts │ │ │ │ │ ├── list.tsx │ │ │ │ │ ├── map-value.ts │ │ │ │ │ ├── show.tsx │ │ │ │ │ └── strip-time-from-iso.ts │ │ │ │ ├── default-type/ │ │ │ │ │ ├── default-property-value.tsx │ │ │ │ │ ├── edit.tsx │ │ │ │ │ ├── filter.tsx │ │ │ │ │ ├── index.ts │ │ │ │ │ ├── list.tsx │ │ │ │ │ ├── show.spec.tsx │ │ │ │ │ └── show.tsx │ │ │ │ ├── docs/ │ │ │ │ │ └── on-property-change.doc.md │ │ │ │ ├── index.tsx │ │ │ │ ├── key-value/ │ │ │ │ │ ├── edit.tsx │ │ │ │ │ ├── index.ts │ │ │ │ │ └── show.tsx │ │ │ │ ├── mixed/ │ │ │ │ │ ├── convert-to-sub-property.ts │ │ │ │ │ ├── edit.tsx │ │ │ │ │ ├── index.ts │ │ │ │ │ ├── list.tsx │ │ │ │ │ └── show.tsx │ │ │ │ ├── password/ │ │ │ │ │ ├── edit.tsx │ │ │ │ │ └── index.ts │ │ │ │ ├── phone/ │ │ │ │ │ ├── edit.tsx │ │ │ │ │ ├── filter.tsx │ │ │ │ │ ├── index.ts │ │ │ │ │ ├── list.tsx │ │ │ │ │ └── show.tsx │ │ │ │ ├── record-property-is-equal.ts │ │ │ │ ├── reference/ │ │ │ │ │ ├── edit.tsx │ │ │ │ │ ├── filter.tsx │ │ │ │ │ ├── index.ts │ │ │ │ │ ├── list.tsx │ │ │ │ │ ├── reference-value.tsx │ │ │ │ │ └── show.tsx │ │ │ │ ├── richtext/ │ │ │ │ │ ├── edit.tsx │ │ │ │ │ ├── index.ts │ │ │ │ │ ├── list.tsx │ │ │ │ │ └── show.tsx │ │ │ │ ├── textarea/ │ │ │ │ │ ├── edit.tsx │ │ │ │ │ ├── index.ts │ │ │ │ │ └── show.tsx │ │ │ │ └── utils/ │ │ │ │ ├── index.ts │ │ │ │ ├── property-description/ │ │ │ │ │ ├── index.ts │ │ │ │ │ └── property-description.tsx │ │ │ │ └── property-label/ │ │ │ │ ├── index.ts │ │ │ │ └── property-label.tsx │ │ │ ├── routes/ │ │ │ │ ├── bulk-action.tsx │ │ │ │ ├── dashboard.tsx │ │ │ │ ├── index.ts │ │ │ │ ├── page.tsx │ │ │ │ ├── record-action.spec.tsx │ │ │ │ ├── record-action.tsx │ │ │ │ ├── resource-action.tsx │ │ │ │ ├── resource.tsx │ │ │ │ └── utils/ │ │ │ │ ├── should-action-re-fetch-data.ts │ │ │ │ └── wrapper.tsx │ │ │ └── spec/ │ │ │ ├── action-json.factory.ts │ │ │ ├── factory.ts │ │ │ ├── initialize-translations.ts │ │ │ ├── page-json.factory.ts │ │ │ ├── property-json.factory.ts │ │ │ ├── record-json.factory.ts │ │ │ ├── resource-json.factory.ts │ │ │ └── test-context-provider.tsx │ │ ├── global-entry.js │ │ ├── hoc/ │ │ │ ├── allow-override.tsx │ │ │ ├── index.ts │ │ │ ├── with-no-ssr.tsx │ │ │ └── with-notice.ts │ │ ├── hooks/ │ │ │ ├── index.ts │ │ │ ├── use-action/ │ │ │ │ ├── index.ts │ │ │ │ ├── use-action-response-handler.ts │ │ │ │ ├── use-action.doc.md │ │ │ │ ├── use-action.ts │ │ │ │ └── use-action.types.ts │ │ │ ├── use-current-admin.ts │ │ │ ├── use-filter-drawer.tsx │ │ │ ├── use-history-listen.ts │ │ │ ├── use-local-storage/ │ │ │ │ ├── index.ts │ │ │ │ ├── use-local-storage-result.type.ts │ │ │ │ ├── use-local-storage.doc.md │ │ │ │ └── use-local-storage.ts │ │ │ ├── use-modal.doc.md │ │ │ ├── use-modal.ts │ │ │ ├── use-navigation-resources.ts │ │ │ ├── use-notice.ts │ │ │ ├── use-query-params.ts │ │ │ ├── use-record/ │ │ │ │ ├── filter-record.spec.ts │ │ │ │ ├── filter-record.ts │ │ │ │ ├── index.ts │ │ │ │ ├── is-entire-record-given.ts │ │ │ │ ├── merge-record-response.ts │ │ │ │ ├── params-to-form-data.spec.ts │ │ │ │ ├── params-to-form-data.ts │ │ │ │ ├── update-record.spec.ts │ │ │ │ ├── update-record.ts │ │ │ │ ├── use-record.doc.md │ │ │ │ ├── use-record.tsx │ │ │ │ └── use-record.type.ts │ │ │ ├── use-records/ │ │ │ │ ├── index.ts │ │ │ │ ├── use-records-result.type.ts │ │ │ │ ├── use-records.doc.md │ │ │ │ └── use-records.ts │ │ │ ├── use-resource/ │ │ │ │ ├── index.ts │ │ │ │ ├── use-resource.doc.md │ │ │ │ └── use-resource.ts │ │ │ ├── use-selected-records/ │ │ │ │ ├── index.ts │ │ │ │ ├── use-selected-records-result.type.ts │ │ │ │ ├── use-selected-records.doc.md │ │ │ │ └── use-selected-records.ts │ │ │ └── use-translation.ts │ │ ├── index.ts │ │ ├── interfaces/ │ │ │ ├── action/ │ │ │ │ ├── action-has-component.ts │ │ │ │ ├── action-href.ts │ │ │ │ ├── action-json.interface.ts │ │ │ │ ├── build-action-api-call-trigger.ts │ │ │ │ ├── build-action-click-handler.ts │ │ │ │ ├── build-action-test-id.ts │ │ │ │ ├── call-action-api.ts │ │ │ │ ├── index.ts │ │ │ │ ├── is-bulk-action.ts │ │ │ │ ├── is-record-action.ts │ │ │ │ └── is-resource-action.ts │ │ │ ├── index.ts │ │ │ ├── modal.interface.ts │ │ │ ├── noticeMessage.interface.ts │ │ │ ├── page-json.interface.ts │ │ │ ├── property-json/ │ │ │ │ ├── index.ts │ │ │ │ └── property-json.interface.ts │ │ │ ├── record-json.interface.ts │ │ │ └── resource-json.interface.ts │ │ ├── layout-template.spec.ts │ │ ├── layout-template.tsx │ │ ├── login-template.spec.ts │ │ ├── login-template.tsx │ │ ├── store/ │ │ │ ├── actions/ │ │ │ │ ├── add-notice.ts │ │ │ │ ├── drop-notice.ts │ │ │ │ ├── filter-drawer.ts │ │ │ │ ├── index.ts │ │ │ │ ├── initialize-assets.ts │ │ │ │ ├── initialize-branding.ts │ │ │ │ ├── initialize-dashboard.ts │ │ │ │ ├── initialize-locale.ts │ │ │ │ ├── initialize-pages.ts │ │ │ │ ├── initialize-paths.ts │ │ │ │ ├── initialize-resources.ts │ │ │ │ ├── initialize-theme.ts │ │ │ │ ├── initialize-versions.ts │ │ │ │ ├── modal.ts │ │ │ │ ├── route-changed.ts │ │ │ │ ├── set-current-admin.ts │ │ │ │ ├── set-drawer-preroute.ts │ │ │ │ └── set-notice-progress.ts │ │ │ ├── index.ts │ │ │ ├── initialize-store.ts │ │ │ ├── reducers/ │ │ │ │ ├── assetsReducer.ts │ │ │ │ ├── brandingReducer.ts │ │ │ │ ├── dashboardReducer.ts │ │ │ │ ├── drawerReducer.ts │ │ │ │ ├── filterDrawerReducer.ts │ │ │ │ ├── index.ts │ │ │ │ ├── localesReducer.ts │ │ │ │ ├── modalReducer.ts │ │ │ │ ├── noticesReducer.ts │ │ │ │ ├── pagesReducer.ts │ │ │ │ ├── pathsReducer.ts │ │ │ │ ├── resourcesReducer.ts │ │ │ │ ├── routerReducer.ts │ │ │ │ ├── sessionReducer.ts │ │ │ │ ├── themeReducer.ts │ │ │ │ └── versionsReducer.ts │ │ │ ├── store.ts │ │ │ └── utils/ │ │ │ └── pages-to-store.ts │ │ └── utils/ │ │ ├── adminjs.i18n.ts │ │ ├── api-client.ts │ │ ├── data-css-name.ts │ │ ├── index.ts │ │ └── overridable-component.ts │ ├── index.ts │ ├── locale/ │ │ ├── config.ts │ │ ├── de/ │ │ │ └── translation.json │ │ ├── default-config.ts │ │ ├── en/ │ │ │ └── translation.json │ │ ├── es/ │ │ │ └── translation.json │ │ ├── index.ts │ │ ├── it/ │ │ │ └── translation.json │ │ ├── ja/ │ │ │ └── translation.json │ │ ├── pl/ │ │ │ └── translation.json │ │ ├── pt-BR/ │ │ │ └── translation.json │ │ ├── ua/ │ │ │ └── translation.json │ │ └── zh-CN/ │ │ └── translation.json │ └── utils/ │ ├── error-type.enum.ts │ ├── file-resolver.ts │ ├── flat/ │ │ ├── constants.ts │ │ ├── filter-out-params.doc.md │ │ ├── filter-out-params.spec.ts │ │ ├── filter-out-params.ts │ │ ├── flat-module.ts │ │ ├── flat.doc.md │ │ ├── flat.types.ts │ │ ├── get.doc.md │ │ ├── get.spec.ts │ │ ├── get.ts │ │ ├── index.ts │ │ ├── merge.spec.ts │ │ ├── merge.ts │ │ ├── path-parts.type.ts │ │ ├── path-to-parts.doc.md │ │ ├── path-to-parts.ts │ │ ├── property-key-regex.ts │ │ ├── remove-path.doc.md │ │ ├── remove-path.spec.ts │ │ ├── remove-path.ts │ │ ├── select-params.doc.md │ │ ├── select-params.spec.ts │ │ ├── select-params.ts │ │ ├── set.doc.md │ │ ├── set.spec.ts │ │ └── set.ts │ ├── index.ts │ ├── param-converter/ │ │ ├── constants.ts │ │ ├── convert-nested-param.spec.ts │ │ ├── convert-nested-param.ts │ │ ├── convert-param.spec.ts │ │ ├── convert-param.ts │ │ ├── index.ts │ │ ├── param-converter-module.ts │ │ ├── prepare-params.ts │ │ └── validate-param.ts │ ├── theme-bundler.ts │ └── translate-functions.factory.ts ├── tsconfig.json └── vendor-types/ ├── chai/ │ └── index.d.ts ├── global.ts └── node/ └── node.d.ts