├── .github └── workflows │ └── tests.yml ├── .gitignore ├── .php-cs-fixer.dist.php ├── .project ├── 1.0.0-crud.png ├── 1.0.0-globalsearch.png ├── CHANGELOG.md ├── LICENSE.md ├── README.md ├── SECURITY.md ├── UPGRADE.md ├── actions.phpunit.xml ├── composer.json ├── docker-compose.yml ├── luya_admin.png ├── phpstan.neon ├── phpunit.xml.dist ├── rector.php ├── runtime └── .gitignore ├── src ├── Bootstrap.php ├── Module.php ├── apis │ ├── ApiUserController.php │ ├── CommonController.php │ ├── ConfigController.php │ ├── EffectController.php │ ├── FilterController.php │ ├── GroupController.php │ ├── LangController.php │ ├── LoggerController.php │ ├── MenuController.php │ ├── NgrestLogController.php │ ├── PropertyController.php │ ├── ProxyBuildController.php │ ├── ProxyController.php │ ├── ProxyMachineController.php │ ├── QueueLogController.php │ ├── QueueLogErrorController.php │ ├── RemoteController.php │ ├── SearchController.php │ ├── StorageController.php │ ├── StorageImageController.php │ ├── TagController.php │ ├── TimestampController.php │ └── UserController.php ├── assets │ ├── AngularI18n.php │ ├── Jquery.php │ ├── Login.php │ └── Main.php ├── aws │ ├── ApiOverviewActiveWindow.php │ ├── ApiRequestInsightActiveWindow.php │ ├── ChangePasswordActiveWindow.php │ ├── ChangePasswordInterface.php │ ├── CoordinatesActiveWindow.php │ ├── DeleteTagsActiveWindow.php │ ├── DetailViewActiveWindow.php │ ├── FlowActiveWindow.php │ ├── FlowActiveWindowInterface.php │ ├── FlowActiveWindowTrait.php │ ├── GroupAuthActiveWindow.php │ ├── ImageSelectCollectionActiveWindow.php │ ├── StorageFilterImagesActiveWindow.php │ ├── TaggableActiveWindow.php │ └── UserHistorySummaryActiveWindow.php ├── base │ ├── BaseCrudController.php │ ├── CheckboxArrayProperty.php │ ├── CheckboxProperty.php │ ├── Controller.php │ ├── DashboardObjectInterface.php │ ├── Filter.php │ ├── FilterInterface.php │ ├── GenericSearchInterface.php │ ├── ImageProperty.php │ ├── JwtIdentityInterface.php │ ├── Module.php │ ├── Property.php │ ├── RadioProperty.php │ ├── ReloadButton.php │ ├── RestActiveController.php │ ├── RestController.php │ └── TypesInterface.php ├── behaviors │ ├── BlameableBehavior.php │ ├── LogBehavior.php │ ├── QueueLogBehavior.php │ └── UserRequestBehavior.php ├── buttons │ ├── DuplicateActiveButton.php │ ├── TimestampActiveButton.php │ └── ToggleStatusActiveButton.php ├── commands │ ├── ActiveWindowController.php │ ├── CrudController.php │ ├── FilterController.php │ ├── LogController.php │ ├── ProxyController.php │ ├── QueueController.php │ ├── SetupController.php │ ├── StorageController.php │ ├── TagController.php │ └── views │ │ ├── aw │ │ ├── classfile.php │ │ └── viewfile.php │ │ ├── crud │ │ ├── build_summary.php │ │ ├── create_api.php │ │ ├── create_controller.php │ │ └── create_model.php │ │ └── filter │ │ └── filterClass.php ├── components │ ├── AdminLanguage.php │ ├── AdminMenu.php │ ├── AdminMenuBuilder.php │ ├── AdminMenuBuilderInterface.php │ ├── AdminUser.php │ ├── Auth.php │ ├── Jwt.php │ └── UrlRule.php ├── controllers │ ├── AccountController.php │ ├── ApiUserController.php │ ├── ConfigController.php │ ├── DefaultController.php │ ├── EffectController.php │ ├── FileController.php │ ├── FilterController.php │ ├── GroupController.php │ ├── LangController.php │ ├── LoggerController.php │ ├── LoginController.php │ ├── NgrestLogController.php │ ├── PropertyController.php │ ├── ProxyBuildController.php │ ├── ProxyMachineController.php │ ├── QueueLogController.php │ ├── QueueLogErrorController.php │ ├── StorageController.php │ ├── StorageImageController.php │ ├── TagController.php │ ├── TemplateController.php │ ├── UptimeController.php │ └── UserController.php ├── dashboard │ ├── BaseDashboardObject.php │ ├── BasicDashboardObject.php │ ├── ChartDashboardObject.php │ ├── ListDashboardObject.php │ └── TableDashboardObject.php ├── events │ ├── FileDownloadEvent.php │ ├── FileEvent.php │ └── UserAccessTokenLoginEvent.php ├── file │ ├── Item.php │ ├── Iterator.php │ └── Query.php ├── filesystem │ ├── DummyFileSystem.php │ └── LocalFileSystem.php ├── filters │ ├── LargeCrop.php │ ├── LargeThumbnail.php │ ├── MediumCrop.php │ ├── MediumThumbnail.php │ ├── SmallCrop.php │ ├── SmallLandscape.php │ ├── SmallThumbnail.php │ ├── TinyCrop.php │ └── TinyThumbnail.php ├── folder │ ├── Item.php │ ├── Iterator.php │ └── Query.php ├── helpers │ ├── Angular.php │ ├── AngularObject.php │ ├── I18n.php │ └── Storage.php ├── image │ ├── Item.php │ ├── Iterator.php │ └── Query.php ├── importers │ ├── AuthImporter.php │ ├── FilterImporter.php │ └── PropertyImporter.php ├── jobs │ ├── ImageFilterJob.php │ └── ScheduleJob.php ├── messages │ ├── bg │ │ └── admin.php │ ├── cn │ │ └── admin.php │ ├── de │ │ └── admin.php │ ├── el │ │ └── admin.php │ ├── en │ │ └── admin.php │ ├── es │ │ └── admin.php │ ├── fa │ │ └── admin.php │ ├── fr │ │ └── admin.php │ ├── hu │ │ └── admin.php │ ├── id │ │ └── admin.php │ ├── it │ │ └── admin.php │ ├── nl │ │ └── admin.php │ ├── pl │ │ └── admin.php │ ├── pt │ │ └── admin.php │ ├── ru │ │ └── admin.php │ ├── th │ │ └── admin.php │ ├── tr │ │ └── admin.php │ ├── ua │ │ └── admin.php │ └── vi │ │ └── admin.php ├── migrations │ ├── m141104_104622_admin_group.php │ ├── m141104_104631_admin_user_group.php │ ├── m141104_114809_admin_user.php │ ├── m141203_121042_admin_lang.php │ ├── m150304_152220_admin_storage_folder.php │ ├── m150304_152238_admin_storage_file.php │ ├── m150304_152244_admin_storage_filter.php │ ├── m150304_152250_admin_storage_effect.php │ ├── m150304_152256_admin_storage_image.php │ ├── m150309_142652_admin_storage_filter_chain.php │ ├── m150323_125407_admin_auth.php │ ├── m150323_132625_admin_group_auth.php │ ├── m150331_125022_admin_ngrest_log.php │ ├── m150615_094744_admin_user_login.php │ ├── m150617_200836_admin_user_online.php │ ├── m150626_084948_admin_search_data.php │ ├── m150915_081559_admin_config.php │ ├── m150924_120914_admin_prop.php │ ├── m151026_161841_admin_tag.php │ ├── m160915_081618_create_admin_logger_table.php │ ├── m161219_150240_admin_lang_soft_delete.php │ ├── m161220_183300_lcp_base_tables.php │ ├── m170131_104109_user_model_updates.php │ ├── m170926_144137_add_admin_user_session_id_column.php │ ├── m170926_164913_add_ngrest_log_diff_data.php │ ├── m171009_083835_add_admin_user_login_destroy_info.php │ ├── m171129_104706_config_add_system_type.php │ ├── m180214_134657_system_user_ngrest_deletion.php │ ├── m180326_170839_file_disposition.php │ ├── m180412_092824_user_security_columns_v12.php │ ├── m180527_225613_user_login_ipv6.php │ ├── m180619_134519_indexes.php │ ├── m180723_120432_indexes.php │ ├── m181023_135132_scheduler.php │ ├── m181113_120432_user_index.php │ ├── m190327_140741_auth_pool_field.php │ ├── m190508_142342_admin_user_api_request.php │ ├── m190521_145029_admin_user_notification.php │ ├── m200128_141129_v3_update.php │ ├── m201112_133820_db_session_table.php │ ├── m210422_134420_v4_update.php │ ├── m210510_082714_admin_config_text.php │ └── m311024_135132_tag.php ├── models │ ├── ApiUser.php │ ├── Auth.php │ ├── Config.php │ ├── Group.php │ ├── GroupAuth.php │ ├── Lang.php │ ├── Logger.php │ ├── LoginForm.php │ ├── NgrestLog.php │ ├── Property.php │ ├── ProxyBuild.php │ ├── ProxyMachine.php │ ├── QueueLog.php │ ├── QueueLogError.php │ ├── ResetPasswordChangeForm.php │ ├── ResetPasswordForm.php │ ├── Scheduler.php │ ├── SearchData.php │ ├── StorageEffect.php │ ├── StorageFile.php │ ├── StorageFilter.php │ ├── StorageFilterChain.php │ ├── StorageFolder.php │ ├── StorageImage.php │ ├── Tag.php │ ├── TagRelation.php │ ├── User.php │ ├── UserAuthNotification.php │ ├── UserChangePassword.php │ ├── UserDevice.php │ ├── UserGroup.php │ ├── UserLogin.php │ ├── UserLoginLockout.php │ ├── UserOnline.php │ ├── UserRequest.php │ └── UserSetting.php ├── ngrest │ ├── Config.php │ ├── ConfigBuilder.php │ ├── ConfigBuilderInterface.php │ ├── ConfigInterface.php │ ├── NgRest.php │ ├── NgRestButtonConditionInterface.php │ ├── NgRestPermissionLevelInterface.php │ ├── aw │ │ ├── ActiveWindowFormField.php │ │ ├── ActiveWindowFormWidget.php │ │ ├── CallbackButtonFileDownloadWidget.php │ │ └── CallbackButtonWidget.php │ ├── base │ │ ├── ActiveButton.php │ │ ├── ActiveSelection.php │ │ ├── ActiveWindow.php │ │ ├── ActiveWindowInterface.php │ │ ├── ActiveWindowView.php │ │ ├── Api.php │ │ ├── BaseActiveResponse.php │ │ ├── Controller.php │ │ ├── NgRestActiveQuery.php │ │ ├── NgRestEventBehavior.php │ │ ├── NgRestModel.php │ │ ├── NgRestModelInterface.php │ │ ├── NgRestRelation.php │ │ ├── NgRestRelationInterface.php │ │ ├── Plugin.php │ │ ├── Render.php │ │ └── actions │ │ │ ├── CreateAction.php │ │ │ ├── DeleteAction.php │ │ │ ├── IndexAction.php │ │ │ ├── OptionsAction.php │ │ │ ├── TruncateAction.php │ │ │ ├── UpdateAction.php │ │ │ └── ViewAction.php │ ├── plugins │ │ ├── Angular.php │ │ ├── Badge.php │ │ ├── CheckboxList.php │ │ ├── CheckboxRelation.php │ │ ├── CheckboxRelationActiveQuery.php │ │ ├── CmsPage.php │ │ ├── Color.php │ │ ├── Date.php │ │ ├── Datetime.php │ │ ├── Decimal.php │ │ ├── File.php │ │ ├── FileArray.php │ │ ├── Hidden.php │ │ ├── Html.php │ │ ├── Image.php │ │ ├── ImageArray.php │ │ ├── Index.php │ │ ├── Injector.php │ │ ├── JsonObject.php │ │ ├── Link.php │ │ ├── MultipleInputs.php │ │ ├── Number.php │ │ ├── Password.php │ │ ├── Raw.php │ │ ├── Select.php │ │ ├── SelectArray.php │ │ ├── SelectArrayGently.php │ │ ├── SelectAsyncApi.php │ │ ├── SelectModel.php │ │ ├── SelectRelationActiveQuery.php │ │ ├── Slug.php │ │ ├── SortRelation.php │ │ ├── SortRelationArray.php │ │ ├── SortRelationModel.php │ │ ├── Sortable.php │ │ ├── Text.php │ │ ├── TextArray.php │ │ ├── Textarea.php │ │ ├── ToggleStatus.php │ │ ├── Url.php │ │ └── Wysiwyg.php │ ├── render │ │ ├── RenderActiveWindow.php │ │ ├── RenderActiveWindowCallback.php │ │ ├── RenderCrud.php │ │ ├── RenderCrudInterface.php │ │ ├── RenderCrudView.php │ │ └── RenderInterface.php │ ├── traits │ │ └── CrudLoaderPluginTrait.php │ └── validators │ │ └── StorageUploadValidator.php ├── openapi │ ├── ActionRouteParser.php │ ├── BasePathParser.php │ ├── Generator.php │ ├── OpenApiGenerator.php │ ├── UrlRuleRouteParser.php │ ├── events │ │ └── PathParametersEvent.php │ ├── phpdoc │ │ ├── PhpDocMethod.php │ │ ├── PhpDocParam.php │ │ ├── PhpDocParser.php │ │ ├── PhpDocReflection.php │ │ ├── PhpDocReturn.php │ │ ├── PhpDocType.php │ │ └── PhpDocUses.php │ └── specs │ │ ├── ActiveRecordToSchema.php │ │ ├── BaseSpecs.php │ │ ├── ControllerActionSpecs.php │ │ ├── ControllerSpecs.php │ │ └── SpecInterface.php ├── proxy │ ├── ClientBuild.php │ ├── ClientTable.php │ └── ClientTransfer.php ├── resources │ ├── .gitignore │ ├── angular-i18n │ │ ├── angular-locale_cn.js │ │ ├── angular-locale_de.js │ │ ├── angular-locale_el.js │ │ ├── angular-locale_en.js │ │ ├── angular-locale_es.js │ │ ├── angular-locale_fa.js │ │ ├── angular-locale_fr.js │ │ ├── angular-locale_hu.js │ │ ├── angular-locale_id.js │ │ ├── angular-locale_it.js │ │ ├── angular-locale_nl.js │ │ ├── angular-locale_pl.js │ │ ├── angular-locale_pt.js │ │ ├── angular-locale_ru.js │ │ ├── angular-locale_tr.js │ │ ├── angular-locale_ua.js │ │ └── angular-locale_vi.js │ ├── dist │ │ ├── bower.js │ │ ├── bower.unglue │ │ ├── login.css │ │ ├── login.js │ │ ├── login.unglue │ │ ├── main.css │ │ ├── main.js │ │ └── main.unglue │ ├── fonts │ │ ├── material-icons │ │ │ ├── MaterialIcons-Regular.eot │ │ │ ├── MaterialIcons-Regular.ttf │ │ │ ├── MaterialIcons-Regular.woff │ │ │ └── MaterialIcons-Regular.woff2 │ │ └── roboto │ │ │ ├── roboto-v18-cyrillic_cyrillic-ext_latin-ext_latin_greek_vietnamese_greek-ext-100.eot │ │ │ ├── roboto-v18-cyrillic_cyrillic-ext_latin-ext_latin_greek_vietnamese_greek-ext-100.svg │ │ │ ├── roboto-v18-cyrillic_cyrillic-ext_latin-ext_latin_greek_vietnamese_greek-ext-100.ttf │ │ │ ├── roboto-v18-cyrillic_cyrillic-ext_latin-ext_latin_greek_vietnamese_greek-ext-100.woff │ │ │ ├── roboto-v18-cyrillic_cyrillic-ext_latin-ext_latin_greek_vietnamese_greek-ext-100.woff2 │ │ │ ├── roboto-v18-cyrillic_cyrillic-ext_latin-ext_latin_greek_vietnamese_greek-ext-100italic.eot │ │ │ ├── roboto-v18-cyrillic_cyrillic-ext_latin-ext_latin_greek_vietnamese_greek-ext-100italic.svg │ │ │ ├── roboto-v18-cyrillic_cyrillic-ext_latin-ext_latin_greek_vietnamese_greek-ext-100italic.ttf │ │ │ ├── roboto-v18-cyrillic_cyrillic-ext_latin-ext_latin_greek_vietnamese_greek-ext-100italic.woff │ │ │ ├── roboto-v18-cyrillic_cyrillic-ext_latin-ext_latin_greek_vietnamese_greek-ext-100italic.woff2 │ │ │ ├── roboto-v18-cyrillic_cyrillic-ext_latin-ext_latin_greek_vietnamese_greek-ext-300.eot │ │ │ ├── roboto-v18-cyrillic_cyrillic-ext_latin-ext_latin_greek_vietnamese_greek-ext-300.svg │ │ │ ├── roboto-v18-cyrillic_cyrillic-ext_latin-ext_latin_greek_vietnamese_greek-ext-300.ttf │ │ │ ├── roboto-v18-cyrillic_cyrillic-ext_latin-ext_latin_greek_vietnamese_greek-ext-300.woff │ │ │ ├── roboto-v18-cyrillic_cyrillic-ext_latin-ext_latin_greek_vietnamese_greek-ext-300.woff2 │ │ │ ├── roboto-v18-cyrillic_cyrillic-ext_latin-ext_latin_greek_vietnamese_greek-ext-300italic.eot │ │ │ ├── roboto-v18-cyrillic_cyrillic-ext_latin-ext_latin_greek_vietnamese_greek-ext-300italic.svg │ │ │ ├── roboto-v18-cyrillic_cyrillic-ext_latin-ext_latin_greek_vietnamese_greek-ext-300italic.ttf │ │ │ ├── roboto-v18-cyrillic_cyrillic-ext_latin-ext_latin_greek_vietnamese_greek-ext-300italic.woff │ │ │ ├── roboto-v18-cyrillic_cyrillic-ext_latin-ext_latin_greek_vietnamese_greek-ext-300italic.woff2 │ │ │ ├── roboto-v18-cyrillic_cyrillic-ext_latin-ext_latin_greek_vietnamese_greek-ext-500.eot │ │ │ ├── roboto-v18-cyrillic_cyrillic-ext_latin-ext_latin_greek_vietnamese_greek-ext-500.svg │ │ │ ├── roboto-v18-cyrillic_cyrillic-ext_latin-ext_latin_greek_vietnamese_greek-ext-500.ttf │ │ │ ├── roboto-v18-cyrillic_cyrillic-ext_latin-ext_latin_greek_vietnamese_greek-ext-500.woff │ │ │ ├── roboto-v18-cyrillic_cyrillic-ext_latin-ext_latin_greek_vietnamese_greek-ext-500.woff2 │ │ │ ├── roboto-v18-cyrillic_cyrillic-ext_latin-ext_latin_greek_vietnamese_greek-ext-500italic.eot │ │ │ ├── roboto-v18-cyrillic_cyrillic-ext_latin-ext_latin_greek_vietnamese_greek-ext-500italic.svg │ │ │ ├── roboto-v18-cyrillic_cyrillic-ext_latin-ext_latin_greek_vietnamese_greek-ext-500italic.ttf │ │ │ ├── roboto-v18-cyrillic_cyrillic-ext_latin-ext_latin_greek_vietnamese_greek-ext-500italic.woff │ │ │ ├── roboto-v18-cyrillic_cyrillic-ext_latin-ext_latin_greek_vietnamese_greek-ext-500italic.woff2 │ │ │ ├── roboto-v18-cyrillic_cyrillic-ext_latin-ext_latin_greek_vietnamese_greek-ext-700.eot │ │ │ ├── roboto-v18-cyrillic_cyrillic-ext_latin-ext_latin_greek_vietnamese_greek-ext-700.svg │ │ │ ├── roboto-v18-cyrillic_cyrillic-ext_latin-ext_latin_greek_vietnamese_greek-ext-700.ttf │ │ │ ├── roboto-v18-cyrillic_cyrillic-ext_latin-ext_latin_greek_vietnamese_greek-ext-700.woff │ │ │ ├── roboto-v18-cyrillic_cyrillic-ext_latin-ext_latin_greek_vietnamese_greek-ext-700.woff2 │ │ │ ├── roboto-v18-cyrillic_cyrillic-ext_latin-ext_latin_greek_vietnamese_greek-ext-700italic.eot │ │ │ ├── roboto-v18-cyrillic_cyrillic-ext_latin-ext_latin_greek_vietnamese_greek-ext-700italic.svg │ │ │ ├── roboto-v18-cyrillic_cyrillic-ext_latin-ext_latin_greek_vietnamese_greek-ext-700italic.ttf │ │ │ ├── roboto-v18-cyrillic_cyrillic-ext_latin-ext_latin_greek_vietnamese_greek-ext-700italic.woff │ │ │ ├── roboto-v18-cyrillic_cyrillic-ext_latin-ext_latin_greek_vietnamese_greek-ext-700italic.woff2 │ │ │ ├── roboto-v18-cyrillic_cyrillic-ext_latin-ext_latin_greek_vietnamese_greek-ext-900.eot │ │ │ ├── roboto-v18-cyrillic_cyrillic-ext_latin-ext_latin_greek_vietnamese_greek-ext-900.svg │ │ │ ├── roboto-v18-cyrillic_cyrillic-ext_latin-ext_latin_greek_vietnamese_greek-ext-900.ttf │ │ │ ├── roboto-v18-cyrillic_cyrillic-ext_latin-ext_latin_greek_vietnamese_greek-ext-900.woff │ │ │ ├── roboto-v18-cyrillic_cyrillic-ext_latin-ext_latin_greek_vietnamese_greek-ext-900.woff2 │ │ │ ├── roboto-v18-cyrillic_cyrillic-ext_latin-ext_latin_greek_vietnamese_greek-ext-900italic.eot │ │ │ ├── roboto-v18-cyrillic_cyrillic-ext_latin-ext_latin_greek_vietnamese_greek-ext-900italic.svg │ │ │ ├── roboto-v18-cyrillic_cyrillic-ext_latin-ext_latin_greek_vietnamese_greek-ext-900italic.ttf │ │ │ ├── roboto-v18-cyrillic_cyrillic-ext_latin-ext_latin_greek_vietnamese_greek-ext-900italic.woff │ │ │ ├── roboto-v18-cyrillic_cyrillic-ext_latin-ext_latin_greek_vietnamese_greek-ext-900italic.woff2 │ │ │ ├── roboto-v18-cyrillic_cyrillic-ext_latin-ext_latin_greek_vietnamese_greek-ext-italic.eot │ │ │ ├── roboto-v18-cyrillic_cyrillic-ext_latin-ext_latin_greek_vietnamese_greek-ext-italic.svg │ │ │ ├── roboto-v18-cyrillic_cyrillic-ext_latin-ext_latin_greek_vietnamese_greek-ext-italic.ttf │ │ │ ├── roboto-v18-cyrillic_cyrillic-ext_latin-ext_latin_greek_vietnamese_greek-ext-italic.woff │ │ │ ├── roboto-v18-cyrillic_cyrillic-ext_latin-ext_latin_greek_vietnamese_greek-ext-italic.woff2 │ │ │ ├── roboto-v18-cyrillic_cyrillic-ext_latin-ext_latin_greek_vietnamese_greek-ext-regular.eot │ │ │ ├── roboto-v18-cyrillic_cyrillic-ext_latin-ext_latin_greek_vietnamese_greek-ext-regular.svg │ │ │ ├── roboto-v18-cyrillic_cyrillic-ext_latin-ext_latin_greek_vietnamese_greek-ext-regular.ttf │ │ │ ├── roboto-v18-cyrillic_cyrillic-ext_latin-ext_latin_greek_vietnamese_greek-ext-regular.woff │ │ │ └── roboto-v18-cyrillic_cyrillic-ext_latin-ext_latin_greek_vietnamese_greek-ext-regular.woff2 │ ├── images │ │ ├── flags │ │ │ ├── 1x1 │ │ │ │ ├── ad.svg │ │ │ │ ├── ae.svg │ │ │ │ ├── af.svg │ │ │ │ ├── ag.svg │ │ │ │ ├── ai.svg │ │ │ │ ├── al.svg │ │ │ │ ├── am.svg │ │ │ │ ├── ao.svg │ │ │ │ ├── aq.svg │ │ │ │ ├── ar.svg │ │ │ │ ├── as.svg │ │ │ │ ├── at.svg │ │ │ │ ├── au.svg │ │ │ │ ├── aw.svg │ │ │ │ ├── ax.svg │ │ │ │ ├── az.svg │ │ │ │ ├── ba.svg │ │ │ │ ├── bb.svg │ │ │ │ ├── bd.svg │ │ │ │ ├── be.svg │ │ │ │ ├── bf.svg │ │ │ │ ├── bg.svg │ │ │ │ ├── bh.svg │ │ │ │ ├── bi.svg │ │ │ │ ├── bj.svg │ │ │ │ ├── bl.svg │ │ │ │ ├── bm.svg │ │ │ │ ├── bn.svg │ │ │ │ ├── bo.svg │ │ │ │ ├── bq.svg │ │ │ │ ├── br.svg │ │ │ │ ├── bs.svg │ │ │ │ ├── bt.svg │ │ │ │ ├── bv.svg │ │ │ │ ├── bw.svg │ │ │ │ ├── by.svg │ │ │ │ ├── bz.svg │ │ │ │ ├── ca.svg │ │ │ │ ├── cc.svg │ │ │ │ ├── cd.svg │ │ │ │ ├── cf.svg │ │ │ │ ├── cg.svg │ │ │ │ ├── ch.svg │ │ │ │ ├── ci.svg │ │ │ │ ├── ck.svg │ │ │ │ ├── cl.svg │ │ │ │ ├── cm.svg │ │ │ │ ├── cn.svg │ │ │ │ ├── co.svg │ │ │ │ ├── cr.svg │ │ │ │ ├── cu.svg │ │ │ │ ├── cv.svg │ │ │ │ ├── cw.svg │ │ │ │ ├── cx.svg │ │ │ │ ├── cy.svg │ │ │ │ ├── cz.svg │ │ │ │ ├── de.svg │ │ │ │ ├── dj.svg │ │ │ │ ├── dk.svg │ │ │ │ ├── dm.svg │ │ │ │ ├── do.svg │ │ │ │ ├── dz.svg │ │ │ │ ├── ec.svg │ │ │ │ ├── ee.svg │ │ │ │ ├── eg.svg │ │ │ │ ├── eh.svg │ │ │ │ ├── er.svg │ │ │ │ ├── es.svg │ │ │ │ ├── et.svg │ │ │ │ ├── fi.svg │ │ │ │ ├── fj.svg │ │ │ │ ├── fk.svg │ │ │ │ ├── fm.svg │ │ │ │ ├── fo.svg │ │ │ │ ├── fr.svg │ │ │ │ ├── ga.svg │ │ │ │ ├── gb.svg │ │ │ │ ├── gd.svg │ │ │ │ ├── ge.svg │ │ │ │ ├── gf.svg │ │ │ │ ├── gg.svg │ │ │ │ ├── gh.svg │ │ │ │ ├── gi.svg │ │ │ │ ├── gl.svg │ │ │ │ ├── gm.svg │ │ │ │ ├── gn.svg │ │ │ │ ├── gp.svg │ │ │ │ ├── gq.svg │ │ │ │ ├── gr.svg │ │ │ │ ├── gs.svg │ │ │ │ ├── gt.svg │ │ │ │ ├── gu.svg │ │ │ │ ├── gw.svg │ │ │ │ ├── gy.svg │ │ │ │ ├── hk.svg │ │ │ │ ├── hm.svg │ │ │ │ ├── hn.svg │ │ │ │ ├── hr.svg │ │ │ │ ├── ht.svg │ │ │ │ ├── hu.svg │ │ │ │ ├── id.svg │ │ │ │ ├── ie.svg │ │ │ │ ├── il.svg │ │ │ │ ├── im.svg │ │ │ │ ├── in.svg │ │ │ │ ├── io.svg │ │ │ │ ├── iq.svg │ │ │ │ ├── ir.svg │ │ │ │ ├── is.svg │ │ │ │ ├── it.svg │ │ │ │ ├── je.svg │ │ │ │ ├── jm.svg │ │ │ │ ├── jo.svg │ │ │ │ ├── jp.svg │ │ │ │ ├── ke.svg │ │ │ │ ├── kg.svg │ │ │ │ ├── kh.svg │ │ │ │ ├── ki.svg │ │ │ │ ├── km.svg │ │ │ │ ├── kn.svg │ │ │ │ ├── kp.svg │ │ │ │ ├── kr.svg │ │ │ │ ├── kw.svg │ │ │ │ ├── ky.svg │ │ │ │ ├── kz.svg │ │ │ │ ├── la.svg │ │ │ │ ├── lb.svg │ │ │ │ ├── lc.svg │ │ │ │ ├── li.svg │ │ │ │ ├── lk.svg │ │ │ │ ├── lr.svg │ │ │ │ ├── ls.svg │ │ │ │ ├── lt.svg │ │ │ │ ├── lu.svg │ │ │ │ ├── lv.svg │ │ │ │ ├── ly.svg │ │ │ │ ├── ma.svg │ │ │ │ ├── mc.svg │ │ │ │ ├── md.svg │ │ │ │ ├── me.svg │ │ │ │ ├── mf.svg │ │ │ │ ├── mg.svg │ │ │ │ ├── mh.svg │ │ │ │ ├── mk.svg │ │ │ │ ├── ml.svg │ │ │ │ ├── mm.svg │ │ │ │ ├── mn.svg │ │ │ │ ├── mo.svg │ │ │ │ ├── mp.svg │ │ │ │ ├── mq.svg │ │ │ │ ├── mr.svg │ │ │ │ ├── ms.svg │ │ │ │ ├── mt.svg │ │ │ │ ├── mu.svg │ │ │ │ ├── mv.svg │ │ │ │ ├── mw.svg │ │ │ │ ├── mx.svg │ │ │ │ ├── my.svg │ │ │ │ ├── mz.svg │ │ │ │ ├── na.svg │ │ │ │ ├── nc.svg │ │ │ │ ├── ne.svg │ │ │ │ ├── nf.svg │ │ │ │ ├── ng.svg │ │ │ │ ├── ni.svg │ │ │ │ ├── nl.svg │ │ │ │ ├── no.svg │ │ │ │ ├── np.svg │ │ │ │ ├── nr.svg │ │ │ │ ├── nu.svg │ │ │ │ ├── nz.svg │ │ │ │ ├── om.svg │ │ │ │ ├── pa.svg │ │ │ │ ├── pe.svg │ │ │ │ ├── pf.svg │ │ │ │ ├── pg.svg │ │ │ │ ├── ph.svg │ │ │ │ ├── pk.svg │ │ │ │ ├── pl.svg │ │ │ │ ├── pm.svg │ │ │ │ ├── pn.svg │ │ │ │ ├── pr.svg │ │ │ │ ├── ps.svg │ │ │ │ ├── pt.svg │ │ │ │ ├── pw.svg │ │ │ │ ├── py.svg │ │ │ │ ├── qa.svg │ │ │ │ ├── re.svg │ │ │ │ ├── ro.svg │ │ │ │ ├── rs.svg │ │ │ │ ├── ru.svg │ │ │ │ ├── rw.svg │ │ │ │ ├── sa.svg │ │ │ │ ├── sb.svg │ │ │ │ ├── sc.svg │ │ │ │ ├── sd.svg │ │ │ │ ├── se.svg │ │ │ │ ├── sg.svg │ │ │ │ ├── sh.svg │ │ │ │ ├── si.svg │ │ │ │ ├── sj.svg │ │ │ │ ├── sk.svg │ │ │ │ ├── sl.svg │ │ │ │ ├── sm.svg │ │ │ │ ├── sn.svg │ │ │ │ ├── so.svg │ │ │ │ ├── sr.svg │ │ │ │ ├── ss.svg │ │ │ │ ├── st.svg │ │ │ │ ├── sv.svg │ │ │ │ ├── sx.svg │ │ │ │ ├── sy.svg │ │ │ │ ├── sz.svg │ │ │ │ ├── tc.svg │ │ │ │ ├── td.svg │ │ │ │ ├── tf.svg │ │ │ │ ├── tg.svg │ │ │ │ ├── th.svg │ │ │ │ ├── tj.svg │ │ │ │ ├── tk.svg │ │ │ │ ├── tl.svg │ │ │ │ ├── tm.svg │ │ │ │ ├── tn.svg │ │ │ │ ├── to.svg │ │ │ │ ├── tr.svg │ │ │ │ ├── tt.svg │ │ │ │ ├── tv.svg │ │ │ │ ├── tw.svg │ │ │ │ ├── tz.svg │ │ │ │ ├── ua.svg │ │ │ │ ├── ug.svg │ │ │ │ ├── um.svg │ │ │ │ ├── us.svg │ │ │ │ ├── uy.svg │ │ │ │ ├── uz.svg │ │ │ │ ├── va.svg │ │ │ │ ├── vc.svg │ │ │ │ ├── ve.svg │ │ │ │ ├── vg.svg │ │ │ │ ├── vi.svg │ │ │ │ ├── vn.svg │ │ │ │ ├── vu.svg │ │ │ │ ├── wf.svg │ │ │ │ ├── ws.svg │ │ │ │ ├── ye.svg │ │ │ │ ├── yt.svg │ │ │ │ ├── za.svg │ │ │ │ ├── zm.svg │ │ │ │ └── zw.svg │ │ │ └── 4x3 │ │ │ │ ├── ad.svg │ │ │ │ ├── ae.svg │ │ │ │ ├── af.svg │ │ │ │ ├── ag.svg │ │ │ │ ├── ai.svg │ │ │ │ ├── al.svg │ │ │ │ ├── am.svg │ │ │ │ ├── ao.svg │ │ │ │ ├── aq.svg │ │ │ │ ├── ar.svg │ │ │ │ ├── as.svg │ │ │ │ ├── at.svg │ │ │ │ ├── au.svg │ │ │ │ ├── aw.svg │ │ │ │ ├── ax.svg │ │ │ │ ├── az.svg │ │ │ │ ├── ba.svg │ │ │ │ ├── bb.svg │ │ │ │ ├── bd.svg │ │ │ │ ├── be.svg │ │ │ │ ├── bf.svg │ │ │ │ ├── bg.svg │ │ │ │ ├── bh.svg │ │ │ │ ├── bi.svg │ │ │ │ ├── bj.svg │ │ │ │ ├── bl.svg │ │ │ │ ├── bm.svg │ │ │ │ ├── bn.svg │ │ │ │ ├── bo.svg │ │ │ │ ├── bq.svg │ │ │ │ ├── br.svg │ │ │ │ ├── bs.svg │ │ │ │ ├── bt.svg │ │ │ │ ├── bv.svg │ │ │ │ ├── bw.svg │ │ │ │ ├── by.svg │ │ │ │ ├── bz.svg │ │ │ │ ├── ca.svg │ │ │ │ ├── cc.svg │ │ │ │ ├── cd.svg │ │ │ │ ├── cf.svg │ │ │ │ ├── cg.svg │ │ │ │ ├── ch.svg │ │ │ │ ├── ci.svg │ │ │ │ ├── ck.svg │ │ │ │ ├── cl.svg │ │ │ │ ├── cm.svg │ │ │ │ ├── cn.svg │ │ │ │ ├── co.svg │ │ │ │ ├── cr.svg │ │ │ │ ├── cu.svg │ │ │ │ ├── cv.svg │ │ │ │ ├── cw.svg │ │ │ │ ├── cx.svg │ │ │ │ ├── cy.svg │ │ │ │ ├── cz.svg │ │ │ │ ├── de.svg │ │ │ │ ├── dj.svg │ │ │ │ ├── dk.svg │ │ │ │ ├── dm.svg │ │ │ │ ├── do.svg │ │ │ │ ├── dz.svg │ │ │ │ ├── ec.svg │ │ │ │ ├── ee.svg │ │ │ │ ├── eg.svg │ │ │ │ ├── eh.svg │ │ │ │ ├── er.svg │ │ │ │ ├── es.svg │ │ │ │ ├── et.svg │ │ │ │ ├── fi.svg │ │ │ │ ├── fj.svg │ │ │ │ ├── fk.svg │ │ │ │ ├── fm.svg │ │ │ │ ├── fo.svg │ │ │ │ ├── fr.svg │ │ │ │ ├── ga.svg │ │ │ │ ├── gb.svg │ │ │ │ ├── gd.svg │ │ │ │ ├── ge.svg │ │ │ │ ├── gf.svg │ │ │ │ ├── gg.svg │ │ │ │ ├── gh.svg │ │ │ │ ├── gi.svg │ │ │ │ ├── gl.svg │ │ │ │ ├── gm.svg │ │ │ │ ├── gn.svg │ │ │ │ ├── gp.svg │ │ │ │ ├── gq.svg │ │ │ │ ├── gr.svg │ │ │ │ ├── gs.svg │ │ │ │ ├── gt.svg │ │ │ │ ├── gu.svg │ │ │ │ ├── gw.svg │ │ │ │ ├── gy.svg │ │ │ │ ├── hk.svg │ │ │ │ ├── hm.svg │ │ │ │ ├── hn.svg │ │ │ │ ├── hr.svg │ │ │ │ ├── ht.svg │ │ │ │ ├── hu.svg │ │ │ │ ├── id.svg │ │ │ │ ├── ie.svg │ │ │ │ ├── il.svg │ │ │ │ ├── im.svg │ │ │ │ ├── in.svg │ │ │ │ ├── io.svg │ │ │ │ ├── iq.svg │ │ │ │ ├── ir.svg │ │ │ │ ├── is.svg │ │ │ │ ├── it.svg │ │ │ │ ├── je.svg │ │ │ │ ├── jm.svg │ │ │ │ ├── jo.svg │ │ │ │ ├── jp.svg │ │ │ │ ├── ke.svg │ │ │ │ ├── kg.svg │ │ │ │ ├── kh.svg │ │ │ │ ├── ki.svg │ │ │ │ ├── km.svg │ │ │ │ ├── kn.svg │ │ │ │ ├── kp.svg │ │ │ │ ├── kr.svg │ │ │ │ ├── kw.svg │ │ │ │ ├── ky.svg │ │ │ │ ├── kz.svg │ │ │ │ ├── la.svg │ │ │ │ ├── lb.svg │ │ │ │ ├── lc.svg │ │ │ │ ├── li.svg │ │ │ │ ├── lk.svg │ │ │ │ ├── lr.svg │ │ │ │ ├── ls.svg │ │ │ │ ├── lt.svg │ │ │ │ ├── lu.svg │ │ │ │ ├── lv.svg │ │ │ │ ├── ly.svg │ │ │ │ ├── ma.svg │ │ │ │ ├── mc.svg │ │ │ │ ├── md.svg │ │ │ │ ├── me.svg │ │ │ │ ├── mf.svg │ │ │ │ ├── mg.svg │ │ │ │ ├── mh.svg │ │ │ │ ├── mk.svg │ │ │ │ ├── ml.svg │ │ │ │ ├── mm.svg │ │ │ │ ├── mn.svg │ │ │ │ ├── mo.svg │ │ │ │ ├── mp.svg │ │ │ │ ├── mq.svg │ │ │ │ ├── mr.svg │ │ │ │ ├── ms.svg │ │ │ │ ├── mt.svg │ │ │ │ ├── mu.svg │ │ │ │ ├── mv.svg │ │ │ │ ├── mw.svg │ │ │ │ ├── mx.svg │ │ │ │ ├── my.svg │ │ │ │ ├── mz.svg │ │ │ │ ├── na.svg │ │ │ │ ├── nc.svg │ │ │ │ ├── ne.svg │ │ │ │ ├── nf.svg │ │ │ │ ├── ng.svg │ │ │ │ ├── ni.svg │ │ │ │ ├── nl.svg │ │ │ │ ├── no.svg │ │ │ │ ├── np.svg │ │ │ │ ├── nr.svg │ │ │ │ ├── nu.svg │ │ │ │ ├── nz.svg │ │ │ │ ├── om.svg │ │ │ │ ├── pa.svg │ │ │ │ ├── pe.svg │ │ │ │ ├── pf.svg │ │ │ │ ├── pg.svg │ │ │ │ ├── ph.svg │ │ │ │ ├── pk.svg │ │ │ │ ├── pl.svg │ │ │ │ ├── pm.svg │ │ │ │ ├── pn.svg │ │ │ │ ├── pr.svg │ │ │ │ ├── ps.svg │ │ │ │ ├── pt.svg │ │ │ │ ├── pw.svg │ │ │ │ ├── py.svg │ │ │ │ ├── qa.svg │ │ │ │ ├── re.svg │ │ │ │ ├── ro.svg │ │ │ │ ├── rs.svg │ │ │ │ ├── ru.svg │ │ │ │ ├── rw.svg │ │ │ │ ├── sa.svg │ │ │ │ ├── sb.svg │ │ │ │ ├── sc.svg │ │ │ │ ├── sd.svg │ │ │ │ ├── se.svg │ │ │ │ ├── sg.svg │ │ │ │ ├── sh.svg │ │ │ │ ├── si.svg │ │ │ │ ├── sj.svg │ │ │ │ ├── sk.svg │ │ │ │ ├── sl.svg │ │ │ │ ├── sm.svg │ │ │ │ ├── sn.svg │ │ │ │ ├── so.svg │ │ │ │ ├── sr.svg │ │ │ │ ├── ss.svg │ │ │ │ ├── st.svg │ │ │ │ ├── sv.svg │ │ │ │ ├── sx.svg │ │ │ │ ├── sy.svg │ │ │ │ ├── sz.svg │ │ │ │ ├── tc.svg │ │ │ │ ├── td.svg │ │ │ │ ├── tf.svg │ │ │ │ ├── tg.svg │ │ │ │ ├── th.svg │ │ │ │ ├── tj.svg │ │ │ │ ├── tk.svg │ │ │ │ ├── tl.svg │ │ │ │ ├── tm.svg │ │ │ │ ├── tn.svg │ │ │ │ ├── to.svg │ │ │ │ ├── tr.svg │ │ │ │ ├── tt.svg │ │ │ │ ├── tv.svg │ │ │ │ ├── tw.svg │ │ │ │ ├── tz.svg │ │ │ │ ├── ua.svg │ │ │ │ ├── ug.svg │ │ │ │ ├── um.svg │ │ │ │ ├── us.svg │ │ │ │ ├── uy.svg │ │ │ │ ├── uz.svg │ │ │ │ ├── va.svg │ │ │ │ ├── vc.svg │ │ │ │ ├── ve.svg │ │ │ │ ├── vg.svg │ │ │ │ ├── vi.svg │ │ │ │ ├── vn.svg │ │ │ │ ├── vu.svg │ │ │ │ ├── wf.svg │ │ │ │ ├── ws.svg │ │ │ │ ├── ye.svg │ │ │ │ ├── yt.svg │ │ │ │ ├── za.svg │ │ │ │ ├── zm.svg │ │ │ │ └── zw.svg │ │ ├── folder │ │ │ ├── folder_closed.svg │ │ │ └── folder_opened.svg │ │ ├── logo │ │ │ ├── 0.2x │ │ │ │ ├── luya_logo@0.2x-100.jpg │ │ │ │ └── luya_logo@0.2x.png │ │ │ ├── 0.5x │ │ │ │ ├── _DS_Store │ │ │ │ ├── luya_logo@0.5x-100.jpg │ │ │ │ └── luya_logo@0.5x.png │ │ │ ├── 1x │ │ │ │ ├── _DS_Store │ │ │ │ ├── luya_logo.jpg │ │ │ │ └── luya_logo.png │ │ │ └── 2x │ │ │ │ ├── luya_logo@2x-100.jpg │ │ │ │ └── luya_logo@2x.png │ │ ├── luya-logo-small.png │ │ ├── luyalogo-white.svg │ │ ├── luyalogo.png │ │ ├── luyalogo_destructed.png │ │ ├── timer.sketch │ │ └── timer.svg │ ├── js │ │ ├── controllers.js │ │ ├── directives.js │ │ ├── dnd.js │ │ ├── filters.js │ │ ├── formdirectives.js │ │ ├── login.js │ │ ├── scheduler.js │ │ ├── services.js │ │ └── zaa.js │ ├── scss │ │ ├── admin.scss │ │ ├── base │ │ │ ├── _a.scss │ │ │ ├── _html.scss │ │ │ ├── _ng-click.scss │ │ │ └── _reboot.scss │ │ ├── browser-fixes │ │ │ ├── _ie.scss │ │ │ └── _safari.scss │ │ ├── components │ │ │ ├── _alert.scss │ │ │ ├── _apidoc-menu.scss │ │ │ ├── _badge.scss │ │ │ ├── _btn.scss │ │ │ ├── _card.scss │ │ │ ├── _colorwheel.scss │ │ │ ├── _crud.scss │ │ │ ├── _datepicker.scss │ │ │ ├── _debug.scss │ │ │ ├── _dropdown-item.scss │ │ │ ├── _dropdown.scss │ │ │ ├── _file-detail-view.scss │ │ │ ├── _filemanager.scss │ │ │ ├── _flag-btn.scss │ │ │ ├── _flag.scss │ │ │ ├── _folders.scss │ │ │ ├── _form.scss │ │ │ ├── _help-button.scss │ │ │ ├── _help.scss │ │ │ ├── _imageupload.scss │ │ │ ├── _inline-edit.scss │ │ │ ├── _inlinemodal.scss │ │ │ ├── _input-group.scss │ │ │ ├── _link-selector.scss │ │ │ ├── _list.scss │ │ │ ├── _loader.scss │ │ │ ├── _loading-bar.scss │ │ │ ├── _loading-indicator.scss │ │ │ ├── _loading-overlay.scss │ │ │ ├── _login.scss │ │ │ ├── _luya.scss │ │ │ ├── _luyasearch.scss │ │ │ ├── _mainnav.scss │ │ │ ├── _material-icons.scss │ │ │ ├── _modal.scss │ │ │ ├── _modulenav.scss │ │ │ ├── _nav.scss │ │ │ ├── _ng-wig.scss │ │ │ ├── _pagination.scss │ │ │ ├── _sortable.scss │ │ │ ├── _switch.scss │ │ │ ├── _tab.scss │ │ │ ├── _table.scss │ │ │ ├── _timeline.scss │ │ │ ├── _toasts.scss │ │ │ ├── _tooltip.scss │ │ │ ├── _user-timeout.scss │ │ │ ├── _zaa-checkbox-array.scss │ │ │ ├── _zaa-date.scss │ │ │ ├── _zaa-datetime.scss │ │ │ ├── _zaa-file-array-upload.scss │ │ │ ├── _zaa-image-array-upload.scss │ │ │ ├── _zaa-multiple-inputs.scss │ │ │ ├── _zaa-table.scss │ │ │ └── _zaaselect.scss │ │ ├── fonts │ │ │ ├── _all.scss │ │ │ ├── _material-icons.scss │ │ │ └── _roboto.scss │ │ ├── helpers │ │ │ ├── _google-chrome-font-offset-fix.scss │ │ │ └── _zindex.scss │ │ ├── login.scss │ │ └── variables │ │ │ ├── _bootstrap.scss │ │ │ ├── _colors.scss │ │ │ ├── _custom.scss │ │ │ ├── _flags.scss │ │ │ └── _zindex.scss │ ├── svg │ │ ├── login │ │ │ └── spinner.svg │ │ └── logo │ │ │ └── luya_logo.svg │ └── vendorlibs │ │ ├── angularjs-datepicker │ │ ├── angular-datepicker.js │ │ └── angular-datepicker.min.css │ │ └── ng-colorwheel │ │ └── ng-colorwheel.js ├── selections │ └── DeleteActiveSelection.php ├── storage │ ├── BaseFileSystemStorage.php │ ├── ItemAbstract.php │ ├── IteratorAbstract.php │ └── QueryTrait.php ├── tags │ └── FileTag.php ├── traits │ ├── AdminRestBehaviorTrait.php │ ├── LazyDataLoadTrait.php │ ├── SoftDeleteTrait.php │ ├── SortableTrait.php │ └── TaggableTrait.php ├── validators │ ├── I18nRequiredValidator.php │ └── StorageUploadValidator.php └── views │ ├── account │ └── dashboard.php │ ├── aws │ ├── apioverview │ │ └── index.php │ ├── apirequestinsight │ │ └── index.php │ ├── base │ │ ├── _callbackButton.php │ │ └── _callbackForm.php │ ├── changepassword │ │ └── index.php │ ├── coordinates │ │ └── index.php │ ├── deletetags │ │ └── index.php │ ├── detailview │ │ └── index.php │ ├── flow │ │ └── index.php │ ├── groupauth │ │ └── index.php │ ├── imageselectcollection │ │ └── index.php │ ├── storagefilterimages │ │ └── index.php │ ├── taggable │ │ └── index.php │ └── userhistorysummary │ │ └── index.php │ ├── default │ ├── apidoc.php │ ├── dashboard.php │ └── index.php │ ├── layouts │ ├── _angulardirectives.php │ ├── main.php │ └── nosession.php │ ├── login │ ├── index.php │ ├── password-reset.php │ └── reset.php │ ├── mail │ ├── _reset.php │ └── _token.php │ ├── ngrest │ ├── _awform.php │ ├── _crudform.php │ ├── _crudform_i18n_pluginhtml.php │ └── crud.php │ ├── storage │ └── index.php │ └── template │ └── default.php └── tests ├── AdminConsoleSqLiteTestCase.php ├── AdminConsoleTestCase.php ├── AdminModelTestCase.php ├── AdminTestCase.php ├── Dockerfile ├── NgRestTestCase.php ├── admin ├── BootstrapTest.php ├── MessageFileTest.php ├── MigrationsFileTest.php ├── ModuleTest.php ├── apis │ ├── ApiUserControllerTest.php │ ├── CommonControllerTest.php │ ├── GenericApiControllerTest.php │ ├── GroupControllerTest.php │ ├── MenuControllerTest.php │ ├── NgrestLogControllerTest.php │ ├── ProxyControllerTest.php │ ├── RemoteControllerTest.php │ ├── SearchControllerTest.php │ ├── StorageControllerTest.php │ ├── TimestampControllerTest.php │ └── UserControllerTest.php ├── aws │ ├── ApiOverviewActiveWindowTest.php │ ├── ApiRequestInsightActiveWindowTest.php │ ├── ChangePasswordActiveWindowTest.php │ ├── DeleteTagsActiveWindowTest.php │ └── UserHistorySummaryActiveWindowTest.php ├── base │ ├── CheckboxArrayPropertyTest.php │ ├── CheckboxPropertyTest.php │ ├── FilterTest.php │ ├── JwtHttpBearerAuthTest.php │ ├── ModuleTest.php │ ├── PropertyTest.php │ ├── RadioPropertyTest.php │ ├── RestActiveControllerTest.php │ ├── RestControllerTest.php │ └── RestTest.php ├── behaviors │ └── BlameableBehaviorTest.php ├── buttons │ ├── DuplicateActiveButtonTest.php │ └── ToggleStatusActiveButtonTest.php ├── commands │ ├── ActiveWindowControllerTest.php │ ├── CrudControllerTest.php │ ├── FilterControllerTest.php │ ├── LogControllerTest.php │ └── SetupControllerTest.php ├── components │ ├── AdminLanguageTest.php │ ├── AdminMenuTest.php │ ├── AuthTest.php │ └── JwtTest.php ├── controllers │ ├── DefaultControllerTest.php │ ├── GenericNgRestControllerTest.php │ ├── LoginControllerTest.php │ └── UptimeControllerTest.php ├── dashboard │ └── ListDashboardObjectTest.php ├── events │ └── UserAccessTokenLoginEventTest.php ├── helpers │ ├── AngularTest.php │ ├── I18nTest.php │ └── StorageTest.php ├── importers │ ├── FilterImporterTest.php │ └── PropertyImporterTest.php ├── jobs │ ├── ImageFilterJobTest.php │ └── ScheduleJobTest.php ├── models │ ├── GenericNgRestModelTest.php │ ├── LangTest.php │ ├── LoginFormTest.php │ ├── ProxyMachineTest.php │ ├── QueueLogErrorTest.php │ ├── SchedulerTest.php │ ├── StorageFilterChainTest.php │ ├── StorageFilterTest.php │ ├── StorageImageTest.php │ ├── TagTest.php │ ├── UserAuthNotificationTest.php │ ├── UserModelTest.php │ ├── UserSettingsTest.php │ └── UserTest.php ├── ngrest │ ├── ButtonConditionConfigTest.php │ ├── ConfigBuilderTest.php │ ├── ConfigTest.php │ ├── PermissionLevelConfigTest.php │ ├── actions │ │ ├── DeleteActionTest.php │ │ ├── IndexActionTest.php │ │ ├── TruncateActionTest.php │ │ └── ViewActionTest.php │ ├── aw │ │ ├── ActiveWindowFormTest.php │ │ └── CallbackButtonWidgetTest.php │ ├── base │ │ ├── ApiTest.php │ │ ├── ControllerTest.php │ │ ├── ModelClassTest.php │ │ ├── NgRestActiveQueryTest.php │ │ ├── NgRestModelAdminModelTestCaseTest.php │ │ ├── NgRestModelTest.php │ │ └── PluginTest.php │ ├── plugins │ │ ├── BadgeTest.php │ │ ├── CheckboxListTest.php │ │ ├── CheckboxRelationTest.php │ │ ├── ColorTest.php │ │ ├── FileArrayTest.php │ │ ├── FileTest.php │ │ ├── HtmlTest.php │ │ ├── ImageArrayTest.php │ │ ├── ImageTest.php │ │ ├── InjectorTest.php │ │ ├── JsonObjectTest.php │ │ ├── LinkTest.php │ │ ├── MultipleInputsTest.php │ │ ├── RawTest.php │ │ ├── SelectArrayGentlyTest.php │ │ ├── SelectAsyncApiTest.php │ │ ├── SelectModelTest.php │ │ ├── SelectRelationActiveQuerySqlLiteTest.php │ │ ├── SelectRelationActiveQueryTest.php │ │ ├── SlugTest.php │ │ ├── SortableTest.php │ │ ├── TextArrayTest.php │ │ ├── TextTest.php │ │ └── ToggleStatusTest.php │ ├── render │ │ ├── RenderActiveWindowCallbackTest.php │ │ └── RenderCrudTest.php │ └── validators │ │ └── NgRestStorageUploadValidatorTest.php ├── openapi │ ├── GeneratorTest.php │ └── UrlRulePhpDocTest.php ├── proxy │ ├── ClientBuildTest.php │ ├── ClientTableTest.php │ └── ClientTransferTest.php ├── selections │ └── DeleteActiveSelectionTest.php ├── storage │ ├── BaseFileSystemStorageTest.php │ ├── DummyFileSystemTest.php │ └── QueryTraitTest.php ├── traits │ ├── LazyDataLoadTraitTest.php │ ├── SoftDeleteTraitTest.php │ └── SortableTraitTest.php └── validators │ ├── I18nRequiredValidatorTest.php │ └── StorageUploadValidatorTest.php ├── assets └── .gitignore └── data ├── apis └── StubApiUserApiController.php ├── configs ├── admin.php └── console.php ├── controllers ├── OpenApiController.php ├── StubApiUserControllerController.php └── TestController.php ├── env.php ├── fixtures ├── I18nUserFixture.php ├── TagFixture.php ├── UserFixture.php └── UserOnlineFixture.php ├── image.jpg ├── mocks └── proxy │ └── ClientTableMock.php ├── models ├── I18nUser.php ├── JwtModel.php ├── PoolModel.php └── TestNgRestModel.php ├── modules ├── ExtendPermissionModule.php └── crudmodulefolder │ └── admin │ └── Module.php ├── properties └── MyTestProperty.php ├── runtime └── .gitignore ├── sql ├── 1.0.0-RC2.sql ├── 1.0.0-RC3.sql ├── 1.0.0-RC4.sql ├── 4.0.0.sql └── latest │ └── 5.0.0.sql └── stubs ├── StubBehavior.php └── StubPlugin.php /.gitignore: -------------------------------------------------------------------------------- 1 | /vendor 2 | /luya 3 | /.settings/ 4 | /.buildpath 5 | /phpunit.xml 6 | /.idea 7 | /.vscode 8 | composer.lock 9 | .phpunit.result.cache 10 | .php_cs.cache 11 | .tmp 12 | .php-cs-fixer.cache -------------------------------------------------------------------------------- /.php-cs-fixer.dist.php: -------------------------------------------------------------------------------- 1 | in(__DIR__) 5 | ; 6 | 7 | $config = new PhpCsFixer\Config(); 8 | return $config->setRules([ 9 | '@PSR12' => true, 10 | 'array_syntax' => ['syntax' => 'short'], 11 | 'ordered_imports' => ['sort_algorithm' => 'alpha'], 12 | 'no_unused_imports' => true, 13 | ]) 14 | ->setFinder($finder) 15 | ; 16 | -------------------------------------------------------------------------------- /1.0.0-crud.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/luyadev/luya-module-admin/240459ff9b6097935b619b7a6666e5770255302f/1.0.0-crud.png -------------------------------------------------------------------------------- /1.0.0-globalsearch.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/luyadev/luya-module-admin/240459ff9b6097935b619b7a6666e5770255302f/1.0.0-globalsearch.png -------------------------------------------------------------------------------- /SECURITY.md: -------------------------------------------------------------------------------- 1 | # Security Policy 2 | 3 | Please use the email security@luya.io to report to us any security issue you find in LUYA. 4 | DO NOT use the issue tracker or discuss it in the public forum as it will cause more damage than help. 5 | 6 | Please note that as a non-commercial OpenSource project we are not able to pay bounties at the moment. 7 | -------------------------------------------------------------------------------- /luya_admin.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/luyadev/luya-module-admin/240459ff9b6097935b619b7a6666e5770255302f/luya_admin.png -------------------------------------------------------------------------------- /phpstan.neon: -------------------------------------------------------------------------------- 1 | parameters: 2 | level: 0 3 | paths: 4 | - src 5 | bootstrapFiles: 6 | - vendor/yiisoft/yii2/Yii.php 7 | tmpDir: .tmp 8 | -------------------------------------------------------------------------------- /runtime/.gitignore: -------------------------------------------------------------------------------- 1 | * 2 | 3 | !.gitignore -------------------------------------------------------------------------------- /src/apis/ApiUserController.php: -------------------------------------------------------------------------------- 1 | 11 | * @since 1.1.0 12 | */ 13 | class ApiUserController extends Api 14 | { 15 | /** 16 | * @var string Path to the user model class. 17 | */ 18 | public $modelClass = 'luya\admin\models\ApiUser'; 19 | } 20 | -------------------------------------------------------------------------------- /src/apis/ConfigController.php: -------------------------------------------------------------------------------- 1 | 9 | * @since 1.0.0 10 | */ 11 | class ConfigController extends \luya\admin\ngrest\base\Api 12 | { 13 | /** 14 | * @var string The path to the model which is the provider for the rules and fields. 15 | */ 16 | public $modelClass = 'luya\admin\models\Config'; 17 | } 18 | -------------------------------------------------------------------------------- /src/apis/EffectController.php: -------------------------------------------------------------------------------- 1 | 11 | * @since 1.0.0 12 | */ 13 | class EffectController extends Api 14 | { 15 | /** 16 | * @var string The path to the StorageEffect model. 17 | */ 18 | public $modelClass = 'luya\admin\models\StorageEffect'; 19 | } 20 | -------------------------------------------------------------------------------- /src/apis/FilterController.php: -------------------------------------------------------------------------------- 1 | 11 | * @since 1.0.0 12 | */ 13 | class FilterController extends Api 14 | { 15 | /** 16 | * @var string The path to the StorageFilter model. 17 | */ 18 | public $modelClass = 'luya\admin\models\StorageFilter'; 19 | } 20 | -------------------------------------------------------------------------------- /src/apis/LangController.php: -------------------------------------------------------------------------------- 1 | 11 | * @since 1.0.0 12 | */ 13 | class LangController extends Api 14 | { 15 | /** 16 | * @var string The path to the language model. 17 | */ 18 | public $modelClass = 'luya\admin\models\Lang'; 19 | } 20 | -------------------------------------------------------------------------------- /src/apis/LoggerController.php: -------------------------------------------------------------------------------- 1 | 11 | * @since 1.0.0 12 | */ 13 | class LoggerController extends Api 14 | { 15 | /** 16 | * {@inheritDoc} 17 | */ 18 | public $modelClass = 'luya\admin\models\Logger'; 19 | 20 | /** 21 | * {@inheritDoc} 22 | */ 23 | public $truncateAction = true; 24 | } 25 | -------------------------------------------------------------------------------- /src/apis/NgrestLogController.php: -------------------------------------------------------------------------------- 1 | 9 | * @since 3.2.0 10 | */ 11 | class NgrestLogController extends \luya\admin\ngrest\base\Api 12 | { 13 | /** 14 | * {@inheritDoc} 15 | */ 16 | public $modelClass = 'luya\admin\models\NgrestLog'; 17 | 18 | /** 19 | * {@inheritDoc} 20 | */ 21 | public $truncateAction = true; 22 | 23 | /** 24 | * {@inheritDoc} 25 | */ 26 | public function prepareListQuery() 27 | { 28 | return parent::prepareListQuery()->with(['user']); 29 | } 30 | } 31 | -------------------------------------------------------------------------------- /src/apis/PropertyController.php: -------------------------------------------------------------------------------- 1 | 9 | * @since 3.8.0 10 | */ 11 | class PropertyController extends \luya\admin\ngrest\base\Api 12 | { 13 | /** 14 | * @var string The path to the model which is the provider for the rules and fields. 15 | */ 16 | public $modelClass = 'luya\admin\models\Property'; 17 | } 18 | -------------------------------------------------------------------------------- /src/apis/ProxyBuildController.php: -------------------------------------------------------------------------------- 1 | 9 | * @since 1.0.0 10 | */ 11 | class ProxyBuildController extends \luya\admin\ngrest\base\Api 12 | { 13 | /** 14 | * {@inheritDoc} 15 | */ 16 | public $modelClass = 'luya\admin\models\ProxyBuild'; 17 | 18 | /** 19 | * {@inheritDoc} 20 | */ 21 | public $truncateAction = true; 22 | } 23 | -------------------------------------------------------------------------------- /src/apis/ProxyMachineController.php: -------------------------------------------------------------------------------- 1 | 11 | * @since 1.0.0 12 | */ 13 | class ProxyMachineController extends Api 14 | { 15 | /** 16 | * @var string The path to the model which is the provider for the rules and fields. 17 | */ 18 | public $modelClass = 'luya\admin\models\ProxyMachine'; 19 | } 20 | -------------------------------------------------------------------------------- /src/apis/QueueLogController.php: -------------------------------------------------------------------------------- 1 | 9 | * @since 3.2.0 10 | */ 11 | class StorageImageController extends \luya\admin\ngrest\base\Api 12 | { 13 | /** 14 | * @var string The path to the model which is the provider for the rules and fields. 15 | */ 16 | public $modelClass = 'luya\admin\models\StorageImage'; 17 | 18 | /** 19 | * {@inheritDoc} 20 | */ 21 | public function prepareListQuery() 22 | { 23 | return parent::prepareListQuery()->with(['file', 'filter']); 24 | } 25 | } 26 | -------------------------------------------------------------------------------- /src/assets/Jquery.php: -------------------------------------------------------------------------------- 1 | 9 | * @since 1.0.0 10 | */ 11 | class Jquery extends \yii\web\JqueryAsset 12 | { 13 | } 14 | -------------------------------------------------------------------------------- /src/commands/views/aw/viewfile.php: -------------------------------------------------------------------------------- 1 | 9 | 10 | /** 11 | * Index View. 12 | * 13 | * @var \luya\admin\ngrest\base\ActiveWindowView $this 14 | * @var \luya\admin\ngrest\base\NgRestModel $model 15 | */ 16 | ?> 17 |

Active Window

18 | -------------------------------------------------------------------------------- /src/commands/views/crud/build_summary.php: -------------------------------------------------------------------------------- 1 | To add the module to admin menu, update your 'Module.php' like this: 2 | 3 | public $apis = [ 4 | '' => '', 5 | ]; 6 | 7 | public function getMenu() 8 | { 9 | return (new \luya\admin\components\AdminMenuBuilder($this)) 10 | ->node('', 'extension') 11 | ->group('Group') 12 | ->itemApi('', '', 'label', ''); 13 | } 14 | -------------------------------------------------------------------------------- /src/commands/views/crud/create_api.php: -------------------------------------------------------------------------------- 1 | 11 | 12 | namespace ; 13 | 14 | /** 15 | * . 16 | * 17 | * 18 | */ 19 | class extends \luya\admin\ngrest\base\Api 20 | { 21 | /** 22 | * @var string The path to the model which is the provider for the rules and fields. 23 | */ 24 | public $modelClass = ''; 25 | } -------------------------------------------------------------------------------- /src/commands/views/crud/create_controller.php: -------------------------------------------------------------------------------- 1 | 11 | 12 | namespace ; 13 | 14 | /** 15 | * . 16 | * 17 | * 18 | */ 19 | class extends \luya\admin\ngrest\base\Controller 20 | { 21 | /** 22 | * @var string The path to the model which is the provider for the rules and fields. 23 | */ 24 | public $modelClass = ''; 25 | } -------------------------------------------------------------------------------- /src/controllers/AccountController.php: -------------------------------------------------------------------------------- 1 | 12 | * @since 1.0.0 13 | */ 14 | class AccountController extends Controller 15 | { 16 | public $disablePermissionCheck = true; 17 | 18 | public function actionDashboard() 19 | { 20 | return $this->render('dashboard', [ 21 | 'user' => Yii::$app->adminuser->identity, 22 | ]); 23 | } 24 | } 25 | -------------------------------------------------------------------------------- /src/controllers/ApiUserController.php: -------------------------------------------------------------------------------- 1 | 11 | * @since 1.1.0 12 | */ 13 | class ApiUserController extends Controller 14 | { 15 | public $modelClass = 'luya\admin\models\ApiUser'; 16 | } 17 | -------------------------------------------------------------------------------- /src/controllers/ConfigController.php: -------------------------------------------------------------------------------- 1 | 11 | * @since 1.0.0 12 | */ 13 | class EffectController extends Controller 14 | { 15 | public $modelClass = 'luya\admin\models\StorageEffect'; 16 | } 17 | -------------------------------------------------------------------------------- /src/controllers/FilterController.php: -------------------------------------------------------------------------------- 1 | 12 | * @since 1.0.0 13 | */ 14 | class FilterController extends Controller 15 | { 16 | public $modelClass = 'luya\admin\models\StorageFilter'; 17 | 18 | public function getDescription() 19 | { 20 | return Module::t('filter_controller_description'); 21 | } 22 | } 23 | -------------------------------------------------------------------------------- /src/controllers/GroupController.php: -------------------------------------------------------------------------------- 1 | 11 | * @since 1.0.0 12 | */ 13 | class GroupController extends Controller 14 | { 15 | public $modelClass = 'luya\admin\models\Group'; 16 | } 17 | -------------------------------------------------------------------------------- /src/controllers/LangController.php: -------------------------------------------------------------------------------- 1 | 11 | * @since 1.0.0 12 | */ 13 | class LangController extends Controller 14 | { 15 | public $modelClass = 'luya\admin\models\Lang'; 16 | } 17 | -------------------------------------------------------------------------------- /src/controllers/PropertyController.php: -------------------------------------------------------------------------------- 1 | 11 | * @since 3.8.0 12 | */ 13 | class PropertyController extends \luya\admin\ngrest\base\Controller 14 | { 15 | /** 16 | * @var string The path to the model which is the provider for the rules and fields. 17 | */ 18 | public $modelClass = 'luya\admin\models\Property'; 19 | 20 | /** 21 | * {@inheritDoc} 22 | */ 23 | public function getDescription() 24 | { 25 | return Module::t('property_controller_description'); 26 | } 27 | } 28 | -------------------------------------------------------------------------------- /src/controllers/ProxyBuildController.php: -------------------------------------------------------------------------------- 1 | 9 | * @since 1.0.0 10 | */ 11 | class ProxyBuildController extends \luya\admin\ngrest\base\Controller 12 | { 13 | /** 14 | * @var string The path to the model which is the provider for the rules and fields. 15 | */ 16 | public $modelClass = 'luya\admin\models\ProxyBuild'; 17 | 18 | /** 19 | * {@inheritDoc} 20 | */ 21 | public $clearButton = true; 22 | } 23 | -------------------------------------------------------------------------------- /src/controllers/ProxyMachineController.php: -------------------------------------------------------------------------------- 1 | 11 | * @since 1.0.0 12 | */ 13 | class ProxyMachineController extends Controller 14 | { 15 | /** 16 | * @var string The path to the model which is the provider for the rules and fields. 17 | */ 18 | public $modelClass = 'luya\admin\models\ProxyMachine'; 19 | } 20 | -------------------------------------------------------------------------------- /src/controllers/QueueLogController.php: -------------------------------------------------------------------------------- 1 | 11 | * @since 1.0.0 12 | */ 13 | class StorageController extends Controller 14 | { 15 | public function actionIndex() 16 | { 17 | return $this->render('index'); 18 | } 19 | } 20 | -------------------------------------------------------------------------------- /src/controllers/StorageImageController.php: -------------------------------------------------------------------------------- 1 | 11 | * @since 3.2.0 12 | */ 13 | class StorageImageController extends \luya\admin\ngrest\base\Controller 14 | { 15 | /** 16 | * {@inheritDoc} 17 | */ 18 | public $modelClass = 'luya\admin\models\StorageImage'; 19 | 20 | /** 21 | * {@inheritDoc} 22 | */ 23 | public function getDescription() 24 | { 25 | return Module::t('storageimage_controller_description'); 26 | } 27 | } 28 | -------------------------------------------------------------------------------- /src/controllers/TagController.php: -------------------------------------------------------------------------------- 1 | 11 | * @since 1.0.0 12 | */ 13 | class TagController extends Controller 14 | { 15 | public $modelClass = '\luya\admin\models\Tag'; 16 | } 17 | -------------------------------------------------------------------------------- /src/controllers/TemplateController.php: -------------------------------------------------------------------------------- 1 | 11 | * @since 1.0.0 12 | */ 13 | class TemplateController extends Controller 14 | { 15 | public $disablePermissionCheck = true; 16 | 17 | public function actionDefault() 18 | { 19 | return $this->render('default'); 20 | } 21 | } 22 | -------------------------------------------------------------------------------- /src/controllers/UserController.php: -------------------------------------------------------------------------------- 1 | 11 | * @since 1.0.0 12 | */ 13 | class UserController extends Controller 14 | { 15 | public $modelClass = 'luya\admin\models\User'; 16 | } 17 | -------------------------------------------------------------------------------- /src/events/FileDownloadEvent.php: -------------------------------------------------------------------------------- 1 | 11 | * @since 1.0.0 12 | */ 13 | class FileDownloadEvent extends \yii\base\Event 14 | { 15 | /** 16 | * {@inheritDoc} 17 | */ 18 | public $isValid = true; 19 | 20 | /** 21 | * @var StorageFile $file The file which is downloaded (requested). 22 | */ 23 | public $file; 24 | } 25 | -------------------------------------------------------------------------------- /src/events/FileEvent.php: -------------------------------------------------------------------------------- 1 | 9 | * @since 1.0.0 10 | */ 11 | class Iterator extends \luya\admin\storage\IteratorAbstract 12 | { 13 | /** 14 | * Iterator get current element, generates a new object for the current item on acces. 15 | * 16 | * @return \luya\admin\file\Item 17 | */ 18 | #[\ReturnTypeWillChange] 19 | public function current() 20 | { 21 | return Item::create(current($this->data)); 22 | } 23 | } 24 | -------------------------------------------------------------------------------- /src/folder/Iterator.php: -------------------------------------------------------------------------------- 1 | 9 | * @since 1.0.0 10 | */ 11 | class Iterator extends \luya\admin\storage\IteratorAbstract 12 | { 13 | /** 14 | * Iterator get current element, generates a new object for the current item on access. 15 | * 16 | * @return \luya\admin\folder\Item 17 | */ 18 | #[\ReturnTypeWillChange] 19 | public function current() 20 | { 21 | return Item::create(current($this->data)); 22 | } 23 | } 24 | -------------------------------------------------------------------------------- /src/image/Iterator.php: -------------------------------------------------------------------------------- 1 | 9 | * @since 1.0.0 10 | */ 11 | class Iterator extends \luya\admin\storage\IteratorAbstract 12 | { 13 | /** 14 | * Iterator get current element, generates a new object for the current item on access. 15 | * 16 | * @return \luya\admin\image\Item 17 | */ 18 | #[\ReturnTypeWillChange] 19 | public function current() 20 | { 21 | return Item::create(current($this->data)); 22 | } 23 | } 24 | -------------------------------------------------------------------------------- /src/migrations/m141104_104622_admin_group.php: -------------------------------------------------------------------------------- 1 | createTable('{{%admin_group}}', [ 11 | 'id' => 'pk', 12 | 'name' => $this->string(255)->notNull(), 13 | 'text' => $this->text(), 14 | 'is_deleted' => $this->boolean()->defaultValue(false), 15 | ]); 16 | } 17 | 18 | public function safeDown() 19 | { 20 | $this->dropTable('{{%admin_group}}'); 21 | } 22 | } 23 | -------------------------------------------------------------------------------- /src/migrations/m141104_104631_admin_user_group.php: -------------------------------------------------------------------------------- 1 | createTable('{{%admin_user_group}}', [ 11 | 'id' => $this->primaryKey(), 12 | 'user_id' => $this->integer(11), 13 | 'group_id' => $this->integer(11), 14 | ]); 15 | } 16 | 17 | public function safeDown() 18 | { 19 | $this->dropTable('{{%admin_user_group}}'); 20 | } 21 | } 22 | -------------------------------------------------------------------------------- /src/migrations/m141203_121042_admin_lang.php: -------------------------------------------------------------------------------- 1 | createTable('{{%admin_lang}}', [ 11 | 'id' => $this->primaryKey(), 12 | 'name' => $this->string(255), 13 | 'short_code' => $this->string(15), 14 | 'is_default' => $this->boolean()->defaultValue(false), 15 | ]); 16 | } 17 | 18 | public function safeDown() 19 | { 20 | $this->dropTable('{{%admin_lang}}'); 21 | } 22 | } 23 | -------------------------------------------------------------------------------- /src/migrations/m150304_152220_admin_storage_folder.php: -------------------------------------------------------------------------------- 1 | createTable('{{%admin_storage_folder}}', [ 11 | 'id' => $this->primaryKey(), 12 | 'name' => $this->string(255), 13 | 'parent_id' => $this->integer(11), 14 | 'timestamp_create' => $this->integer(11), 15 | 'is_deleted' => $this->boolean()->defaultValue(false), 16 | ]); 17 | } 18 | 19 | public function safeDown() 20 | { 21 | $this->dropTable('{{%admin_storage_folder}}'); 22 | } 23 | } 24 | -------------------------------------------------------------------------------- /src/migrations/m150304_152244_admin_storage_filter.php: -------------------------------------------------------------------------------- 1 | createTable('{{%admin_storage_filter}}', [ 11 | 'id' => $this->primaryKey(), 12 | 'identifier' => $this->string(100)->notNull()->unique(), 13 | 'name' => $this->string(255), 14 | ]); 15 | } 16 | 17 | public function safeDown() 18 | { 19 | $this->dropTable('{{%admin_storage_filter}}'); 20 | } 21 | } 22 | -------------------------------------------------------------------------------- /src/migrations/m150304_152256_admin_storage_image.php: -------------------------------------------------------------------------------- 1 | createTable('{{%admin_storage_image}}', [ 11 | 'id' => $this->primaryKey(), 12 | 'file_id' => $this->integer(11), 13 | 'filter_id' => $this->integer(11), 14 | 'resolution_width' => $this->integer(11), 15 | 'resolution_height' => $this->integer(11), 16 | ]); 17 | } 18 | 19 | public function safeDown() 20 | { 21 | $this->dropTable('{{%admin_storage_image}}'); 22 | } 23 | } 24 | -------------------------------------------------------------------------------- /src/migrations/m150323_132625_admin_group_auth.php: -------------------------------------------------------------------------------- 1 | createTable('{{%admin_group_auth}}', [ 11 | 'group_id' => $this->integer(11), 12 | 'auth_id' => $this->integer(11), 13 | 'crud_create' => $this->smallInteger(4), 14 | 'crud_update' => $this->smallInteger(4), 15 | 'crud_delete' => $this->smallInteger(4), 16 | ]); 17 | } 18 | 19 | public function safeDown() 20 | { 21 | $this->dropTable('{{%admin_group_auth}}'); 22 | } 23 | } 24 | -------------------------------------------------------------------------------- /src/migrations/m150615_094744_admin_user_login.php: -------------------------------------------------------------------------------- 1 | createTable('{{%admin_user_login}}', [ 10 | 'id' => $this->primaryKey(), 11 | 'user_id' => $this->integer()->notNull(), 12 | 'timestamp_create' => $this->integer(11)->notNull(), 13 | 'auth_token' => $this->string(120)->notNull(), 14 | 'ip' => $this->string(45)->notNull(), 15 | ]); 16 | } 17 | 18 | public function safeDown() 19 | { 20 | $this->dropTable('{{%admin_user_login}}'); 21 | } 22 | } 23 | -------------------------------------------------------------------------------- /src/migrations/m150617_200836_admin_user_online.php: -------------------------------------------------------------------------------- 1 | createTable('{{%admin_user_online}}', [ 10 | 'id' => $this->primaryKey(), 11 | 'user_id' => $this->integer(11)->notNull(), 12 | 'last_timestamp' => $this->integer(11)->notNull(), 13 | 'invoken_route' => $this->string(120)->notNull(), 14 | ]); 15 | } 16 | 17 | public function safeDown() 18 | { 19 | $this->dropTable('{{%admin_user_online}}'); 20 | } 21 | } 22 | -------------------------------------------------------------------------------- /src/migrations/m150915_081559_admin_config.php: -------------------------------------------------------------------------------- 1 | createTable('{{%admin_config}}', [ 10 | 'name' => $this->string(80), 11 | 'value' => $this->string(255)->notNull(), 12 | ]); 13 | 14 | $this->addPrimaryKey('name', '{{%admin_config}}', 'name'); 15 | } 16 | 17 | public function safeDown() 18 | { 19 | $this->dropTable('{{%admin_config}}'); 20 | } 21 | } 22 | -------------------------------------------------------------------------------- /src/migrations/m150924_120914_admin_prop.php: -------------------------------------------------------------------------------- 1 | createTable('{{%admin_property}}', [ 10 | 'id' => $this->primaryKey(), 11 | 'module_name' => $this->string(120), 12 | 'var_name' => $this->string(40)->notNull()->unique(), 13 | 'class_name' => $this->string(200)->notNull(), 14 | ]); 15 | } 16 | 17 | public function safeDown() 18 | { 19 | $this->dropTable('{{%admin_property}}'); 20 | } 21 | } 22 | -------------------------------------------------------------------------------- /src/migrations/m161219_150240_admin_lang_soft_delete.php: -------------------------------------------------------------------------------- 1 | addColumn('{{%admin_lang}}', 'is_deleted', $this->boolean()->defaultValue(false)); 10 | } 11 | 12 | public function safeDown() 13 | { 14 | $this->dropColumn('{{%admin_lang}}', 'is_deleted'); 15 | } 16 | } 17 | -------------------------------------------------------------------------------- /src/migrations/m170926_144137_add_admin_user_session_id_column.php: -------------------------------------------------------------------------------- 1 | 7 | */ 8 | class m170926_144137_add_admin_user_session_id_column extends Migration 9 | { 10 | public function safeUp() 11 | { 12 | $this->addColumn('{{%admin_user_login}}', 'session_id', $this->string()->notNull()->defaultValue(null)); // default value supports upgrading and sync from previous system.s 13 | } 14 | 15 | public function safeDown() 16 | { 17 | $this->dropColumn('{{%admin_user_login}}', 'session_id'); 18 | } 19 | } 20 | -------------------------------------------------------------------------------- /src/migrations/m171009_083835_add_admin_user_login_destroy_info.php: -------------------------------------------------------------------------------- 1 | dropColumn('{{%admin_user_login}}', 'session_id'); // Remove in 1.0.1 release! 10 | $this->addColumn('{{%admin_user_login}}', 'is_destroyed', $this->boolean()->defaultValue(true)); 11 | } 12 | 13 | public function safeDown() 14 | { 15 | $this->addColumn('{{%admin_user_login}}', 'session_id', $this->string()); // Remove in 1.0.1 release! 16 | $this->dropColumn('{{%admin_user_login}}', 'is_destroyed'); 17 | } 18 | } 19 | -------------------------------------------------------------------------------- /src/migrations/m180326_170839_file_disposition.php: -------------------------------------------------------------------------------- 1 | addColumn('{{%admin_storage_file}}', 'inline_disposition', $this->boolean()->defaultValue(false)); 16 | } 17 | 18 | /** 19 | * @inheritdoc 20 | */ 21 | public function safeDown() 22 | { 23 | $this->dropColumn('{{%admin_storage_file}}', 'inline_disposition'); 24 | } 25 | } 26 | -------------------------------------------------------------------------------- /src/migrations/m180527_225613_user_login_ipv6.php: -------------------------------------------------------------------------------- 1 | alterColumn('{{%admin_user_login}}', 'ip', $this->string(45)->notNull()); 16 | } 17 | 18 | /** 19 | * {@inheritdoc} 20 | */ 21 | public function safeDown() 22 | { 23 | $this->alterColumn('{{%admin_user_login}}', 'ip', $this->string(15)->notNull()); 24 | } 25 | } 26 | -------------------------------------------------------------------------------- /src/migrations/m181113_120432_user_index.php: -------------------------------------------------------------------------------- 1 | createIndex('index_api_last_activity_id', '{{%admin_user}}', ['api_last_activity', 'id']); 17 | } 18 | 19 | /** 20 | * {@inheritdoc} 21 | */ 22 | public function safeDown() 23 | { 24 | $this->dropIndex('index_api_last_activity_id', '{{%admin_user}}'); 25 | } 26 | } 27 | -------------------------------------------------------------------------------- /src/migrations/m190327_140741_auth_pool_field.php: -------------------------------------------------------------------------------- 1 | addColumn('{{%admin_auth}}', 'pool', $this->string()); 16 | } 17 | 18 | /** 19 | * {@inheritdoc} 20 | */ 21 | public function safeDown() 22 | { 23 | $this->dropColumn('{{%admin_auth}}', 'pool'); 24 | } 25 | } 26 | -------------------------------------------------------------------------------- /src/migrations/m210510_082714_admin_config_text.php: -------------------------------------------------------------------------------- 1 | alterColumn('{{%admin_config}}', 'value', $this->text()); 16 | } 17 | 18 | /** 19 | * {@inheritdoc} 20 | */ 21 | public function safeDown() 22 | { 23 | $this->alterColumn('{{%admin_config}}', 'value', $this->string()); 24 | } 25 | } 26 | -------------------------------------------------------------------------------- /src/models/ResetPasswordChangeForm.php: -------------------------------------------------------------------------------- 1 | '8'], 16 | ]; 17 | } 18 | 19 | public function formName() 20 | { 21 | return 'change'; 22 | } 23 | } 24 | -------------------------------------------------------------------------------- /src/models/ResetPasswordForm.php: -------------------------------------------------------------------------------- 1 | 9 | * @since 1.0.0 10 | */ 11 | interface ConfigBuilderInterface 12 | { 13 | public function getConfig(); 14 | } 15 | -------------------------------------------------------------------------------- /src/ngrest/NgRestButtonConditionInterface.php: -------------------------------------------------------------------------------- 1 | 9 | * @since 4.0.0 10 | */ 11 | interface NgRestButtonConditionInterface 12 | { 13 | /** 14 | * Setter method for the button ng-show condition 15 | * @param string $condition 16 | * @since 4.0.0 17 | */ 18 | public function setCondition($condition); 19 | 20 | /** 21 | * Get the button condition or empty of not set 22 | * @since 4.0.0 23 | */ 24 | public function getCondition(); 25 | } 26 | -------------------------------------------------------------------------------- /src/ngrest/base/ActiveWindowView.php: -------------------------------------------------------------------------------- 1 | 11 | * @since 1.0.0 12 | */ 13 | class ActiveWindowView extends \yii\base\View 14 | { 15 | } 16 | -------------------------------------------------------------------------------- /src/ngrest/base/actions/CreateAction.php: -------------------------------------------------------------------------------- 1 | 9 | * @since 1.0.0 10 | */ 11 | class CreateAction extends \yii\rest\CreateAction 12 | { 13 | } 14 | -------------------------------------------------------------------------------- /src/ngrest/base/actions/OptionsAction.php: -------------------------------------------------------------------------------- 1 | 9 | * @since 1.0.0 10 | */ 11 | class OptionsAction extends \yii\rest\OptionsAction 12 | { 13 | } 14 | -------------------------------------------------------------------------------- /src/ngrest/base/actions/TruncateAction.php: -------------------------------------------------------------------------------- 1 | 14 | * @since 3.2.0 15 | */ 16 | class TruncateAction extends Action 17 | { 18 | /** 19 | * Truncate all data for given modelClass. 20 | */ 21 | public function run() 22 | { 23 | $class = $this->modelClass; 24 | $class::getDb()->createCommand()->truncateTable($class::tableName())->execute(); 25 | Yii::$app->getResponse()->setStatusCode(204); 26 | } 27 | } 28 | -------------------------------------------------------------------------------- /src/ngrest/render/RenderInterface.php: -------------------------------------------------------------------------------- 1 | 13 | * @since 1.0.0 14 | */ 15 | interface RenderInterface 16 | { 17 | /** 18 | * Setter method for the NgRestConfig. 19 | * 20 | * @param ConfigInterface $config 21 | */ 22 | public function setConfig(ConfigInterface $config); 23 | 24 | /** 25 | * Renders the current ngrest renderer. 26 | */ 27 | public function render(); 28 | } 29 | -------------------------------------------------------------------------------- /src/ngrest/traits/CrudLoaderPluginTrait.php: -------------------------------------------------------------------------------- 1 | 9 | * @since 3.2.0 10 | */ 11 | interface SpecInterface 12 | { 13 | public function getSummary(): string; 14 | 15 | public function getDescription(): string; 16 | 17 | public function getParameters(): array; 18 | 19 | public function getResponses(): array; 20 | } 21 | -------------------------------------------------------------------------------- /src/resources/.gitignore: -------------------------------------------------------------------------------- 1 | .sass-cache/ 2 | /node_modules/ 3 | /dist/js/*.map -------------------------------------------------------------------------------- /src/resources/dist/login.unglue: -------------------------------------------------------------------------------- 1 | { 2 | "css": [ 3 | "../scss/login.scss" 4 | ], 5 | "js": [ 6 | "../js/login.js" 7 | ] 8 | } -------------------------------------------------------------------------------- /src/resources/dist/main.unglue: -------------------------------------------------------------------------------- 1 | { 2 | "js": [ 3 | "../js/dnd.js", 4 | "../js/zaa.js", 5 | "../js/services.js", 6 | "../js/filters.js", 7 | "../js/directives.js", 8 | "../js/formdirectives.js", 9 | "../js/controllers.js", 10 | "../js/scheduler.js" 11 | ], 12 | "css" : [ 13 | "../vendorlibs/angularjs-datepicker/angular-datepicker.min.css", 14 | "../../../vendor/bower-asset/ui-cropper/compile/minified/ui-cropper.css", 15 | "../scss/admin.scss" 16 | ] 17 | } -------------------------------------------------------------------------------- /src/resources/fonts/material-icons/MaterialIcons-Regular.eot: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/luyadev/luya-module-admin/240459ff9b6097935b619b7a6666e5770255302f/src/resources/fonts/material-icons/MaterialIcons-Regular.eot -------------------------------------------------------------------------------- /src/resources/fonts/material-icons/MaterialIcons-Regular.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/luyadev/luya-module-admin/240459ff9b6097935b619b7a6666e5770255302f/src/resources/fonts/material-icons/MaterialIcons-Regular.ttf -------------------------------------------------------------------------------- /src/resources/fonts/material-icons/MaterialIcons-Regular.woff: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/luyadev/luya-module-admin/240459ff9b6097935b619b7a6666e5770255302f/src/resources/fonts/material-icons/MaterialIcons-Regular.woff -------------------------------------------------------------------------------- /src/resources/fonts/material-icons/MaterialIcons-Regular.woff2: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/luyadev/luya-module-admin/240459ff9b6097935b619b7a6666e5770255302f/src/resources/fonts/material-icons/MaterialIcons-Regular.woff2 -------------------------------------------------------------------------------- /src/resources/fonts/roboto/roboto-v18-cyrillic_cyrillic-ext_latin-ext_latin_greek_vietnamese_greek-ext-100.eot: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/luyadev/luya-module-admin/240459ff9b6097935b619b7a6666e5770255302f/src/resources/fonts/roboto/roboto-v18-cyrillic_cyrillic-ext_latin-ext_latin_greek_vietnamese_greek-ext-100.eot -------------------------------------------------------------------------------- /src/resources/fonts/roboto/roboto-v18-cyrillic_cyrillic-ext_latin-ext_latin_greek_vietnamese_greek-ext-100.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/luyadev/luya-module-admin/240459ff9b6097935b619b7a6666e5770255302f/src/resources/fonts/roboto/roboto-v18-cyrillic_cyrillic-ext_latin-ext_latin_greek_vietnamese_greek-ext-100.ttf -------------------------------------------------------------------------------- /src/resources/fonts/roboto/roboto-v18-cyrillic_cyrillic-ext_latin-ext_latin_greek_vietnamese_greek-ext-100.woff: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/luyadev/luya-module-admin/240459ff9b6097935b619b7a6666e5770255302f/src/resources/fonts/roboto/roboto-v18-cyrillic_cyrillic-ext_latin-ext_latin_greek_vietnamese_greek-ext-100.woff -------------------------------------------------------------------------------- /src/resources/fonts/roboto/roboto-v18-cyrillic_cyrillic-ext_latin-ext_latin_greek_vietnamese_greek-ext-100.woff2: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/luyadev/luya-module-admin/240459ff9b6097935b619b7a6666e5770255302f/src/resources/fonts/roboto/roboto-v18-cyrillic_cyrillic-ext_latin-ext_latin_greek_vietnamese_greek-ext-100.woff2 -------------------------------------------------------------------------------- /src/resources/fonts/roboto/roboto-v18-cyrillic_cyrillic-ext_latin-ext_latin_greek_vietnamese_greek-ext-100italic.eot: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/luyadev/luya-module-admin/240459ff9b6097935b619b7a6666e5770255302f/src/resources/fonts/roboto/roboto-v18-cyrillic_cyrillic-ext_latin-ext_latin_greek_vietnamese_greek-ext-100italic.eot -------------------------------------------------------------------------------- /src/resources/fonts/roboto/roboto-v18-cyrillic_cyrillic-ext_latin-ext_latin_greek_vietnamese_greek-ext-100italic.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/luyadev/luya-module-admin/240459ff9b6097935b619b7a6666e5770255302f/src/resources/fonts/roboto/roboto-v18-cyrillic_cyrillic-ext_latin-ext_latin_greek_vietnamese_greek-ext-100italic.ttf -------------------------------------------------------------------------------- /src/resources/fonts/roboto/roboto-v18-cyrillic_cyrillic-ext_latin-ext_latin_greek_vietnamese_greek-ext-100italic.woff: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/luyadev/luya-module-admin/240459ff9b6097935b619b7a6666e5770255302f/src/resources/fonts/roboto/roboto-v18-cyrillic_cyrillic-ext_latin-ext_latin_greek_vietnamese_greek-ext-100italic.woff -------------------------------------------------------------------------------- /src/resources/fonts/roboto/roboto-v18-cyrillic_cyrillic-ext_latin-ext_latin_greek_vietnamese_greek-ext-100italic.woff2: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/luyadev/luya-module-admin/240459ff9b6097935b619b7a6666e5770255302f/src/resources/fonts/roboto/roboto-v18-cyrillic_cyrillic-ext_latin-ext_latin_greek_vietnamese_greek-ext-100italic.woff2 -------------------------------------------------------------------------------- /src/resources/fonts/roboto/roboto-v18-cyrillic_cyrillic-ext_latin-ext_latin_greek_vietnamese_greek-ext-300.eot: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/luyadev/luya-module-admin/240459ff9b6097935b619b7a6666e5770255302f/src/resources/fonts/roboto/roboto-v18-cyrillic_cyrillic-ext_latin-ext_latin_greek_vietnamese_greek-ext-300.eot -------------------------------------------------------------------------------- /src/resources/fonts/roboto/roboto-v18-cyrillic_cyrillic-ext_latin-ext_latin_greek_vietnamese_greek-ext-300.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/luyadev/luya-module-admin/240459ff9b6097935b619b7a6666e5770255302f/src/resources/fonts/roboto/roboto-v18-cyrillic_cyrillic-ext_latin-ext_latin_greek_vietnamese_greek-ext-300.ttf -------------------------------------------------------------------------------- /src/resources/fonts/roboto/roboto-v18-cyrillic_cyrillic-ext_latin-ext_latin_greek_vietnamese_greek-ext-300.woff: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/luyadev/luya-module-admin/240459ff9b6097935b619b7a6666e5770255302f/src/resources/fonts/roboto/roboto-v18-cyrillic_cyrillic-ext_latin-ext_latin_greek_vietnamese_greek-ext-300.woff -------------------------------------------------------------------------------- /src/resources/fonts/roboto/roboto-v18-cyrillic_cyrillic-ext_latin-ext_latin_greek_vietnamese_greek-ext-300.woff2: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/luyadev/luya-module-admin/240459ff9b6097935b619b7a6666e5770255302f/src/resources/fonts/roboto/roboto-v18-cyrillic_cyrillic-ext_latin-ext_latin_greek_vietnamese_greek-ext-300.woff2 -------------------------------------------------------------------------------- /src/resources/fonts/roboto/roboto-v18-cyrillic_cyrillic-ext_latin-ext_latin_greek_vietnamese_greek-ext-300italic.eot: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/luyadev/luya-module-admin/240459ff9b6097935b619b7a6666e5770255302f/src/resources/fonts/roboto/roboto-v18-cyrillic_cyrillic-ext_latin-ext_latin_greek_vietnamese_greek-ext-300italic.eot -------------------------------------------------------------------------------- /src/resources/fonts/roboto/roboto-v18-cyrillic_cyrillic-ext_latin-ext_latin_greek_vietnamese_greek-ext-300italic.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/luyadev/luya-module-admin/240459ff9b6097935b619b7a6666e5770255302f/src/resources/fonts/roboto/roboto-v18-cyrillic_cyrillic-ext_latin-ext_latin_greek_vietnamese_greek-ext-300italic.ttf -------------------------------------------------------------------------------- /src/resources/fonts/roboto/roboto-v18-cyrillic_cyrillic-ext_latin-ext_latin_greek_vietnamese_greek-ext-300italic.woff: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/luyadev/luya-module-admin/240459ff9b6097935b619b7a6666e5770255302f/src/resources/fonts/roboto/roboto-v18-cyrillic_cyrillic-ext_latin-ext_latin_greek_vietnamese_greek-ext-300italic.woff -------------------------------------------------------------------------------- /src/resources/fonts/roboto/roboto-v18-cyrillic_cyrillic-ext_latin-ext_latin_greek_vietnamese_greek-ext-300italic.woff2: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/luyadev/luya-module-admin/240459ff9b6097935b619b7a6666e5770255302f/src/resources/fonts/roboto/roboto-v18-cyrillic_cyrillic-ext_latin-ext_latin_greek_vietnamese_greek-ext-300italic.woff2 -------------------------------------------------------------------------------- /src/resources/fonts/roboto/roboto-v18-cyrillic_cyrillic-ext_latin-ext_latin_greek_vietnamese_greek-ext-500.eot: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/luyadev/luya-module-admin/240459ff9b6097935b619b7a6666e5770255302f/src/resources/fonts/roboto/roboto-v18-cyrillic_cyrillic-ext_latin-ext_latin_greek_vietnamese_greek-ext-500.eot -------------------------------------------------------------------------------- /src/resources/fonts/roboto/roboto-v18-cyrillic_cyrillic-ext_latin-ext_latin_greek_vietnamese_greek-ext-500.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/luyadev/luya-module-admin/240459ff9b6097935b619b7a6666e5770255302f/src/resources/fonts/roboto/roboto-v18-cyrillic_cyrillic-ext_latin-ext_latin_greek_vietnamese_greek-ext-500.ttf -------------------------------------------------------------------------------- /src/resources/fonts/roboto/roboto-v18-cyrillic_cyrillic-ext_latin-ext_latin_greek_vietnamese_greek-ext-500.woff: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/luyadev/luya-module-admin/240459ff9b6097935b619b7a6666e5770255302f/src/resources/fonts/roboto/roboto-v18-cyrillic_cyrillic-ext_latin-ext_latin_greek_vietnamese_greek-ext-500.woff -------------------------------------------------------------------------------- /src/resources/fonts/roboto/roboto-v18-cyrillic_cyrillic-ext_latin-ext_latin_greek_vietnamese_greek-ext-500.woff2: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/luyadev/luya-module-admin/240459ff9b6097935b619b7a6666e5770255302f/src/resources/fonts/roboto/roboto-v18-cyrillic_cyrillic-ext_latin-ext_latin_greek_vietnamese_greek-ext-500.woff2 -------------------------------------------------------------------------------- /src/resources/fonts/roboto/roboto-v18-cyrillic_cyrillic-ext_latin-ext_latin_greek_vietnamese_greek-ext-500italic.eot: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/luyadev/luya-module-admin/240459ff9b6097935b619b7a6666e5770255302f/src/resources/fonts/roboto/roboto-v18-cyrillic_cyrillic-ext_latin-ext_latin_greek_vietnamese_greek-ext-500italic.eot -------------------------------------------------------------------------------- /src/resources/fonts/roboto/roboto-v18-cyrillic_cyrillic-ext_latin-ext_latin_greek_vietnamese_greek-ext-500italic.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/luyadev/luya-module-admin/240459ff9b6097935b619b7a6666e5770255302f/src/resources/fonts/roboto/roboto-v18-cyrillic_cyrillic-ext_latin-ext_latin_greek_vietnamese_greek-ext-500italic.ttf -------------------------------------------------------------------------------- /src/resources/fonts/roboto/roboto-v18-cyrillic_cyrillic-ext_latin-ext_latin_greek_vietnamese_greek-ext-500italic.woff: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/luyadev/luya-module-admin/240459ff9b6097935b619b7a6666e5770255302f/src/resources/fonts/roboto/roboto-v18-cyrillic_cyrillic-ext_latin-ext_latin_greek_vietnamese_greek-ext-500italic.woff -------------------------------------------------------------------------------- /src/resources/fonts/roboto/roboto-v18-cyrillic_cyrillic-ext_latin-ext_latin_greek_vietnamese_greek-ext-500italic.woff2: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/luyadev/luya-module-admin/240459ff9b6097935b619b7a6666e5770255302f/src/resources/fonts/roboto/roboto-v18-cyrillic_cyrillic-ext_latin-ext_latin_greek_vietnamese_greek-ext-500italic.woff2 -------------------------------------------------------------------------------- /src/resources/fonts/roboto/roboto-v18-cyrillic_cyrillic-ext_latin-ext_latin_greek_vietnamese_greek-ext-700.eot: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/luyadev/luya-module-admin/240459ff9b6097935b619b7a6666e5770255302f/src/resources/fonts/roboto/roboto-v18-cyrillic_cyrillic-ext_latin-ext_latin_greek_vietnamese_greek-ext-700.eot -------------------------------------------------------------------------------- /src/resources/fonts/roboto/roboto-v18-cyrillic_cyrillic-ext_latin-ext_latin_greek_vietnamese_greek-ext-700.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/luyadev/luya-module-admin/240459ff9b6097935b619b7a6666e5770255302f/src/resources/fonts/roboto/roboto-v18-cyrillic_cyrillic-ext_latin-ext_latin_greek_vietnamese_greek-ext-700.ttf -------------------------------------------------------------------------------- /src/resources/fonts/roboto/roboto-v18-cyrillic_cyrillic-ext_latin-ext_latin_greek_vietnamese_greek-ext-700.woff: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/luyadev/luya-module-admin/240459ff9b6097935b619b7a6666e5770255302f/src/resources/fonts/roboto/roboto-v18-cyrillic_cyrillic-ext_latin-ext_latin_greek_vietnamese_greek-ext-700.woff -------------------------------------------------------------------------------- /src/resources/fonts/roboto/roboto-v18-cyrillic_cyrillic-ext_latin-ext_latin_greek_vietnamese_greek-ext-700.woff2: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/luyadev/luya-module-admin/240459ff9b6097935b619b7a6666e5770255302f/src/resources/fonts/roboto/roboto-v18-cyrillic_cyrillic-ext_latin-ext_latin_greek_vietnamese_greek-ext-700.woff2 -------------------------------------------------------------------------------- /src/resources/fonts/roboto/roboto-v18-cyrillic_cyrillic-ext_latin-ext_latin_greek_vietnamese_greek-ext-700italic.eot: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/luyadev/luya-module-admin/240459ff9b6097935b619b7a6666e5770255302f/src/resources/fonts/roboto/roboto-v18-cyrillic_cyrillic-ext_latin-ext_latin_greek_vietnamese_greek-ext-700italic.eot -------------------------------------------------------------------------------- /src/resources/fonts/roboto/roboto-v18-cyrillic_cyrillic-ext_latin-ext_latin_greek_vietnamese_greek-ext-700italic.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/luyadev/luya-module-admin/240459ff9b6097935b619b7a6666e5770255302f/src/resources/fonts/roboto/roboto-v18-cyrillic_cyrillic-ext_latin-ext_latin_greek_vietnamese_greek-ext-700italic.ttf -------------------------------------------------------------------------------- /src/resources/fonts/roboto/roboto-v18-cyrillic_cyrillic-ext_latin-ext_latin_greek_vietnamese_greek-ext-700italic.woff: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/luyadev/luya-module-admin/240459ff9b6097935b619b7a6666e5770255302f/src/resources/fonts/roboto/roboto-v18-cyrillic_cyrillic-ext_latin-ext_latin_greek_vietnamese_greek-ext-700italic.woff -------------------------------------------------------------------------------- /src/resources/fonts/roboto/roboto-v18-cyrillic_cyrillic-ext_latin-ext_latin_greek_vietnamese_greek-ext-700italic.woff2: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/luyadev/luya-module-admin/240459ff9b6097935b619b7a6666e5770255302f/src/resources/fonts/roboto/roboto-v18-cyrillic_cyrillic-ext_latin-ext_latin_greek_vietnamese_greek-ext-700italic.woff2 -------------------------------------------------------------------------------- /src/resources/fonts/roboto/roboto-v18-cyrillic_cyrillic-ext_latin-ext_latin_greek_vietnamese_greek-ext-900.eot: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/luyadev/luya-module-admin/240459ff9b6097935b619b7a6666e5770255302f/src/resources/fonts/roboto/roboto-v18-cyrillic_cyrillic-ext_latin-ext_latin_greek_vietnamese_greek-ext-900.eot -------------------------------------------------------------------------------- /src/resources/fonts/roboto/roboto-v18-cyrillic_cyrillic-ext_latin-ext_latin_greek_vietnamese_greek-ext-900.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/luyadev/luya-module-admin/240459ff9b6097935b619b7a6666e5770255302f/src/resources/fonts/roboto/roboto-v18-cyrillic_cyrillic-ext_latin-ext_latin_greek_vietnamese_greek-ext-900.ttf -------------------------------------------------------------------------------- /src/resources/fonts/roboto/roboto-v18-cyrillic_cyrillic-ext_latin-ext_latin_greek_vietnamese_greek-ext-900.woff: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/luyadev/luya-module-admin/240459ff9b6097935b619b7a6666e5770255302f/src/resources/fonts/roboto/roboto-v18-cyrillic_cyrillic-ext_latin-ext_latin_greek_vietnamese_greek-ext-900.woff -------------------------------------------------------------------------------- /src/resources/fonts/roboto/roboto-v18-cyrillic_cyrillic-ext_latin-ext_latin_greek_vietnamese_greek-ext-900.woff2: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/luyadev/luya-module-admin/240459ff9b6097935b619b7a6666e5770255302f/src/resources/fonts/roboto/roboto-v18-cyrillic_cyrillic-ext_latin-ext_latin_greek_vietnamese_greek-ext-900.woff2 -------------------------------------------------------------------------------- /src/resources/fonts/roboto/roboto-v18-cyrillic_cyrillic-ext_latin-ext_latin_greek_vietnamese_greek-ext-900italic.eot: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/luyadev/luya-module-admin/240459ff9b6097935b619b7a6666e5770255302f/src/resources/fonts/roboto/roboto-v18-cyrillic_cyrillic-ext_latin-ext_latin_greek_vietnamese_greek-ext-900italic.eot -------------------------------------------------------------------------------- /src/resources/fonts/roboto/roboto-v18-cyrillic_cyrillic-ext_latin-ext_latin_greek_vietnamese_greek-ext-900italic.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/luyadev/luya-module-admin/240459ff9b6097935b619b7a6666e5770255302f/src/resources/fonts/roboto/roboto-v18-cyrillic_cyrillic-ext_latin-ext_latin_greek_vietnamese_greek-ext-900italic.ttf -------------------------------------------------------------------------------- /src/resources/fonts/roboto/roboto-v18-cyrillic_cyrillic-ext_latin-ext_latin_greek_vietnamese_greek-ext-900italic.woff: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/luyadev/luya-module-admin/240459ff9b6097935b619b7a6666e5770255302f/src/resources/fonts/roboto/roboto-v18-cyrillic_cyrillic-ext_latin-ext_latin_greek_vietnamese_greek-ext-900italic.woff -------------------------------------------------------------------------------- /src/resources/fonts/roboto/roboto-v18-cyrillic_cyrillic-ext_latin-ext_latin_greek_vietnamese_greek-ext-900italic.woff2: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/luyadev/luya-module-admin/240459ff9b6097935b619b7a6666e5770255302f/src/resources/fonts/roboto/roboto-v18-cyrillic_cyrillic-ext_latin-ext_latin_greek_vietnamese_greek-ext-900italic.woff2 -------------------------------------------------------------------------------- /src/resources/fonts/roboto/roboto-v18-cyrillic_cyrillic-ext_latin-ext_latin_greek_vietnamese_greek-ext-italic.eot: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/luyadev/luya-module-admin/240459ff9b6097935b619b7a6666e5770255302f/src/resources/fonts/roboto/roboto-v18-cyrillic_cyrillic-ext_latin-ext_latin_greek_vietnamese_greek-ext-italic.eot -------------------------------------------------------------------------------- /src/resources/fonts/roboto/roboto-v18-cyrillic_cyrillic-ext_latin-ext_latin_greek_vietnamese_greek-ext-italic.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/luyadev/luya-module-admin/240459ff9b6097935b619b7a6666e5770255302f/src/resources/fonts/roboto/roboto-v18-cyrillic_cyrillic-ext_latin-ext_latin_greek_vietnamese_greek-ext-italic.ttf -------------------------------------------------------------------------------- /src/resources/fonts/roboto/roboto-v18-cyrillic_cyrillic-ext_latin-ext_latin_greek_vietnamese_greek-ext-italic.woff: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/luyadev/luya-module-admin/240459ff9b6097935b619b7a6666e5770255302f/src/resources/fonts/roboto/roboto-v18-cyrillic_cyrillic-ext_latin-ext_latin_greek_vietnamese_greek-ext-italic.woff -------------------------------------------------------------------------------- /src/resources/fonts/roboto/roboto-v18-cyrillic_cyrillic-ext_latin-ext_latin_greek_vietnamese_greek-ext-italic.woff2: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/luyadev/luya-module-admin/240459ff9b6097935b619b7a6666e5770255302f/src/resources/fonts/roboto/roboto-v18-cyrillic_cyrillic-ext_latin-ext_latin_greek_vietnamese_greek-ext-italic.woff2 -------------------------------------------------------------------------------- /src/resources/fonts/roboto/roboto-v18-cyrillic_cyrillic-ext_latin-ext_latin_greek_vietnamese_greek-ext-regular.eot: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/luyadev/luya-module-admin/240459ff9b6097935b619b7a6666e5770255302f/src/resources/fonts/roboto/roboto-v18-cyrillic_cyrillic-ext_latin-ext_latin_greek_vietnamese_greek-ext-regular.eot -------------------------------------------------------------------------------- /src/resources/fonts/roboto/roboto-v18-cyrillic_cyrillic-ext_latin-ext_latin_greek_vietnamese_greek-ext-regular.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/luyadev/luya-module-admin/240459ff9b6097935b619b7a6666e5770255302f/src/resources/fonts/roboto/roboto-v18-cyrillic_cyrillic-ext_latin-ext_latin_greek_vietnamese_greek-ext-regular.ttf -------------------------------------------------------------------------------- /src/resources/fonts/roboto/roboto-v18-cyrillic_cyrillic-ext_latin-ext_latin_greek_vietnamese_greek-ext-regular.woff: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/luyadev/luya-module-admin/240459ff9b6097935b619b7a6666e5770255302f/src/resources/fonts/roboto/roboto-v18-cyrillic_cyrillic-ext_latin-ext_latin_greek_vietnamese_greek-ext-regular.woff -------------------------------------------------------------------------------- /src/resources/fonts/roboto/roboto-v18-cyrillic_cyrillic-ext_latin-ext_latin_greek_vietnamese_greek-ext-regular.woff2: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/luyadev/luya-module-admin/240459ff9b6097935b619b7a6666e5770255302f/src/resources/fonts/roboto/roboto-v18-cyrillic_cyrillic-ext_latin-ext_latin_greek_vietnamese_greek-ext-regular.woff2 -------------------------------------------------------------------------------- /src/resources/images/flags/1x1/ae.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /src/resources/images/flags/1x1/am.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /src/resources/images/flags/1x1/at.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /src/resources/images/flags/1x1/ax.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /src/resources/images/flags/1x1/bd.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /src/resources/images/flags/1x1/be.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /src/resources/images/flags/1x1/bf.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /src/resources/images/flags/1x1/bg.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /src/resources/images/flags/1x1/bh.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /src/resources/images/flags/1x1/bj.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /src/resources/images/flags/1x1/bl.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /src/resources/images/flags/1x1/bo.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /src/resources/images/flags/1x1/bq.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /src/resources/images/flags/1x1/bs.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /src/resources/images/flags/1x1/bv.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /src/resources/images/flags/1x1/bw.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /src/resources/images/flags/1x1/cd.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /src/resources/images/flags/1x1/cf.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /src/resources/images/flags/1x1/cg.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /src/resources/images/flags/1x1/ch.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /src/resources/images/flags/1x1/ci.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /src/resources/images/flags/1x1/cl.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /src/resources/images/flags/1x1/cm.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /src/resources/images/flags/1x1/co.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /src/resources/images/flags/1x1/cr.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /src/resources/images/flags/1x1/cu.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /src/resources/images/flags/1x1/cw.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /src/resources/images/flags/1x1/cz.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /src/resources/images/flags/1x1/de.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /src/resources/images/flags/1x1/dj.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /src/resources/images/flags/1x1/dk.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /src/resources/images/flags/1x1/ee.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /src/resources/images/flags/1x1/fo.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /src/resources/images/flags/1x1/fr.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /src/resources/images/flags/1x1/ga.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /src/resources/images/flags/1x1/gf.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /src/resources/images/flags/1x1/gg.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /src/resources/images/flags/1x1/gh.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /src/resources/images/flags/1x1/gl.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /src/resources/images/flags/1x1/gm.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /src/resources/images/flags/1x1/gn.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /src/resources/images/flags/1x1/gp.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /src/resources/images/flags/1x1/gw.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /src/resources/images/flags/1x1/gy.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /src/resources/images/flags/1x1/ht.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /src/resources/images/flags/1x1/hu.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /src/resources/images/flags/1x1/id.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /src/resources/images/flags/1x1/ie.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /src/resources/images/flags/1x1/is.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /src/resources/images/flags/1x1/it.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /src/resources/images/flags/1x1/jm.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /src/resources/images/flags/1x1/jo.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /src/resources/images/flags/1x1/jp.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /src/resources/images/flags/1x1/kw.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /src/resources/images/flags/1x1/la.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /src/resources/images/flags/1x1/lc.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /src/resources/images/flags/1x1/lt.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /src/resources/images/flags/1x1/lu.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /src/resources/images/flags/1x1/lv.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /src/resources/images/flags/1x1/ly.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /src/resources/images/flags/1x1/ma.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /src/resources/images/flags/1x1/mc.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /src/resources/images/flags/1x1/mf.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /src/resources/images/flags/1x1/mg.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /src/resources/images/flags/1x1/ml.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /src/resources/images/flags/1x1/mq.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /src/resources/images/flags/1x1/mr.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /src/resources/images/flags/1x1/mu.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /src/resources/images/flags/1x1/mv.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /src/resources/images/flags/1x1/nc.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /src/resources/images/flags/1x1/ne.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /src/resources/images/flags/1x1/ng.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /src/resources/images/flags/1x1/nl.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /src/resources/images/flags/1x1/no.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /src/resources/images/flags/1x1/pe.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /src/resources/images/flags/1x1/pl.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /src/resources/images/flags/1x1/pm.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /src/resources/images/flags/1x1/pr.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /src/resources/images/flags/1x1/ps.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /src/resources/images/flags/1x1/pw.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /src/resources/images/flags/1x1/qa.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /src/resources/images/flags/1x1/re.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /src/resources/images/flags/1x1/ro.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /src/resources/images/flags/1x1/ru.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /src/resources/images/flags/1x1/sc.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /src/resources/images/flags/1x1/sd.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /src/resources/images/flags/1x1/sj.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /src/resources/images/flags/1x1/sl.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /src/resources/images/flags/1x1/sn.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /src/resources/images/flags/1x1/so.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /src/resources/images/flags/1x1/sr.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /src/resources/images/flags/1x1/ss.svg: -------------------------------------------------------------------------------- 1 | Flag of South Sudan -------------------------------------------------------------------------------- /src/resources/images/flags/1x1/st.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /src/resources/images/flags/1x1/td.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /src/resources/images/flags/1x1/tf.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /src/resources/images/flags/1x1/th.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /src/resources/images/flags/1x1/tl.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /src/resources/images/flags/1x1/to.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /src/resources/images/flags/1x1/tr.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /src/resources/images/flags/1x1/tt.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /src/resources/images/flags/1x1/tz.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /src/resources/images/flags/1x1/ua.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /src/resources/images/flags/1x1/vc.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /src/resources/images/flags/1x1/vn.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /src/resources/images/flags/1x1/wf.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /src/resources/images/flags/1x1/ye.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /src/resources/images/flags/1x1/yt.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /src/resources/images/flags/4x3/ae.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /src/resources/images/flags/4x3/am.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /src/resources/images/flags/4x3/at.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /src/resources/images/flags/4x3/ax.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /src/resources/images/flags/4x3/bd.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /src/resources/images/flags/4x3/be.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /src/resources/images/flags/4x3/bf.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /src/resources/images/flags/4x3/bg.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /src/resources/images/flags/4x3/bh.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /src/resources/images/flags/4x3/bj.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /src/resources/images/flags/4x3/bl.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /src/resources/images/flags/4x3/bo.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /src/resources/images/flags/4x3/bq.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /src/resources/images/flags/4x3/bs.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /src/resources/images/flags/4x3/bv.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /src/resources/images/flags/4x3/bw.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /src/resources/images/flags/4x3/cd.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /src/resources/images/flags/4x3/cf.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /src/resources/images/flags/4x3/cg.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /src/resources/images/flags/4x3/ch.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /src/resources/images/flags/4x3/ci.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /src/resources/images/flags/4x3/cl.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /src/resources/images/flags/4x3/cm.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /src/resources/images/flags/4x3/co.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /src/resources/images/flags/4x3/cr.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /src/resources/images/flags/4x3/cu.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /src/resources/images/flags/4x3/cw.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /src/resources/images/flags/4x3/cz.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /src/resources/images/flags/4x3/de.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /src/resources/images/flags/4x3/dj.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /src/resources/images/flags/4x3/dk.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /src/resources/images/flags/4x3/ee.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /src/resources/images/flags/4x3/fo.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /src/resources/images/flags/4x3/fr.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /src/resources/images/flags/4x3/ga.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /src/resources/images/flags/4x3/gf.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /src/resources/images/flags/4x3/gh.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /src/resources/images/flags/4x3/gl.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /src/resources/images/flags/4x3/gm.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /src/resources/images/flags/4x3/gn.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /src/resources/images/flags/4x3/gp.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /src/resources/images/flags/4x3/gw.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /src/resources/images/flags/4x3/gy.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /src/resources/images/flags/4x3/ht.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /src/resources/images/flags/4x3/hu.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /src/resources/images/flags/4x3/id.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /src/resources/images/flags/4x3/ie.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /src/resources/images/flags/4x3/is.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /src/resources/images/flags/4x3/it.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /src/resources/images/flags/4x3/jm.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /src/resources/images/flags/4x3/jp.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /src/resources/images/flags/4x3/kw.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /src/resources/images/flags/4x3/la.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /src/resources/images/flags/4x3/lc.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /src/resources/images/flags/4x3/lt.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /src/resources/images/flags/4x3/lu.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /src/resources/images/flags/4x3/lv.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /src/resources/images/flags/4x3/ly.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /src/resources/images/flags/4x3/mc.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /src/resources/images/flags/4x3/mf.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /src/resources/images/flags/4x3/mg.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /src/resources/images/flags/4x3/ml.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /src/resources/images/flags/4x3/mq.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /src/resources/images/flags/4x3/mr.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /src/resources/images/flags/4x3/mu.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /src/resources/images/flags/4x3/mv.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /src/resources/images/flags/4x3/nc.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /src/resources/images/flags/4x3/ne.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /src/resources/images/flags/4x3/ng.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /src/resources/images/flags/4x3/nl.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /src/resources/images/flags/4x3/no.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /src/resources/images/flags/4x3/pe.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /src/resources/images/flags/4x3/pl.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /src/resources/images/flags/4x3/pm.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /src/resources/images/flags/4x3/pr.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /src/resources/images/flags/4x3/ps.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /src/resources/images/flags/4x3/pw.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /src/resources/images/flags/4x3/qa.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /src/resources/images/flags/4x3/re.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /src/resources/images/flags/4x3/ro.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /src/resources/images/flags/4x3/ru.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /src/resources/images/flags/4x3/sc.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /src/resources/images/flags/4x3/sd.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /src/resources/images/flags/4x3/se.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /src/resources/images/flags/4x3/sl.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /src/resources/images/flags/4x3/sn.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /src/resources/images/flags/4x3/so.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /src/resources/images/flags/4x3/sr.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /src/resources/images/flags/4x3/ss.svg: -------------------------------------------------------------------------------- 1 | Flag of South Sudan -------------------------------------------------------------------------------- /src/resources/images/flags/4x3/td.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /src/resources/images/flags/4x3/tf.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /src/resources/images/flags/4x3/th.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /src/resources/images/flags/4x3/tl.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /src/resources/images/flags/4x3/to.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /src/resources/images/flags/4x3/tr.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /src/resources/images/flags/4x3/tt.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /src/resources/images/flags/4x3/tz.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /src/resources/images/flags/4x3/ua.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /src/resources/images/flags/4x3/vc.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /src/resources/images/flags/4x3/vn.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /src/resources/images/flags/4x3/wf.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /src/resources/images/flags/4x3/ye.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /src/resources/images/flags/4x3/yt.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /src/resources/images/folder/folder_closed.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /src/resources/images/folder/folder_opened.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /src/resources/images/logo/0.2x/luya_logo@0.2x-100.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/luyadev/luya-module-admin/240459ff9b6097935b619b7a6666e5770255302f/src/resources/images/logo/0.2x/luya_logo@0.2x-100.jpg -------------------------------------------------------------------------------- /src/resources/images/logo/0.2x/luya_logo@0.2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/luyadev/luya-module-admin/240459ff9b6097935b619b7a6666e5770255302f/src/resources/images/logo/0.2x/luya_logo@0.2x.png -------------------------------------------------------------------------------- /src/resources/images/logo/0.5x/_DS_Store: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/luyadev/luya-module-admin/240459ff9b6097935b619b7a6666e5770255302f/src/resources/images/logo/0.5x/_DS_Store -------------------------------------------------------------------------------- /src/resources/images/logo/0.5x/luya_logo@0.5x-100.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/luyadev/luya-module-admin/240459ff9b6097935b619b7a6666e5770255302f/src/resources/images/logo/0.5x/luya_logo@0.5x-100.jpg -------------------------------------------------------------------------------- /src/resources/images/logo/0.5x/luya_logo@0.5x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/luyadev/luya-module-admin/240459ff9b6097935b619b7a6666e5770255302f/src/resources/images/logo/0.5x/luya_logo@0.5x.png -------------------------------------------------------------------------------- /src/resources/images/logo/1x/_DS_Store: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/luyadev/luya-module-admin/240459ff9b6097935b619b7a6666e5770255302f/src/resources/images/logo/1x/_DS_Store -------------------------------------------------------------------------------- /src/resources/images/logo/1x/luya_logo.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/luyadev/luya-module-admin/240459ff9b6097935b619b7a6666e5770255302f/src/resources/images/logo/1x/luya_logo.jpg -------------------------------------------------------------------------------- /src/resources/images/logo/1x/luya_logo.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/luyadev/luya-module-admin/240459ff9b6097935b619b7a6666e5770255302f/src/resources/images/logo/1x/luya_logo.png -------------------------------------------------------------------------------- /src/resources/images/logo/2x/luya_logo@2x-100.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/luyadev/luya-module-admin/240459ff9b6097935b619b7a6666e5770255302f/src/resources/images/logo/2x/luya_logo@2x-100.jpg -------------------------------------------------------------------------------- /src/resources/images/logo/2x/luya_logo@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/luyadev/luya-module-admin/240459ff9b6097935b619b7a6666e5770255302f/src/resources/images/logo/2x/luya_logo@2x.png -------------------------------------------------------------------------------- /src/resources/images/luya-logo-small.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/luyadev/luya-module-admin/240459ff9b6097935b619b7a6666e5770255302f/src/resources/images/luya-logo-small.png -------------------------------------------------------------------------------- /src/resources/images/luyalogo.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/luyadev/luya-module-admin/240459ff9b6097935b619b7a6666e5770255302f/src/resources/images/luyalogo.png -------------------------------------------------------------------------------- /src/resources/images/luyalogo_destructed.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/luyadev/luya-module-admin/240459ff9b6097935b619b7a6666e5770255302f/src/resources/images/luyalogo_destructed.png -------------------------------------------------------------------------------- /src/resources/images/timer.sketch: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/luyadev/luya-module-admin/240459ff9b6097935b619b7a6666e5770255302f/src/resources/images/timer.sketch -------------------------------------------------------------------------------- /src/resources/scss/base/_a.scss: -------------------------------------------------------------------------------- 1 | a { 2 | color: $gray-900; 3 | &:hover, &:focus { 4 | color: $gray-700; 5 | } 6 | } 7 | 8 | a:not([disabled]):not([type="submit"]):not(.mainnav-link):not([type="button"]):not(.btn):not([href]):not([tabindex]):not([class*=" mainnav-"][class^=" mainnav-"]) { 9 | color: inherit; 10 | &:hover { 11 | color: inherit; 12 | } 13 | } 14 | 15 | -------------------------------------------------------------------------------- /src/resources/scss/base/_html.scss: -------------------------------------------------------------------------------- 1 | html, body { 2 | height: 100%; 3 | width: 100%; 4 | padding: 0; 5 | margin: 0; 6 | } -------------------------------------------------------------------------------- /src/resources/scss/base/_ng-click.scss: -------------------------------------------------------------------------------- 1 | *[ng-click] { 2 | cursor: pointer; 3 | user-select: none; 4 | } -------------------------------------------------------------------------------- /src/resources/scss/components/_alert.scss: -------------------------------------------------------------------------------- 1 | .alert-tight { 2 | padding: 3px 6px; 3 | } 4 | 5 | .alert-outline { 6 | background-color: transparent; 7 | } 8 | 9 | /* generally overwrite all alerts inside zaa prefixed css class */ 10 | 11 | [class*='zaa-'] { 12 | [class*='alert-'] { 13 | font-size: 13px; 14 | padding: 3px 6px; 15 | background-color: lighten(theme-color(secondary), 40%); 16 | border-color: lighten(theme-color(secondary), 30%); 17 | } 18 | } -------------------------------------------------------------------------------- /src/resources/scss/components/_apidoc-menu.scss: -------------------------------------------------------------------------------- 1 | .apidoc-menu { 2 | display: flex; 3 | justify-items: center; 4 | justify-content: space-between; 5 | padding: 10px; 6 | background-color: color(gray); 7 | } 8 | 9 | .apidoc-menu__column { 10 | display: flex; 11 | margin: -10px 0 0 -10px; 12 | 13 | > div { 14 | padding: 10px 0 0 10px; 15 | } 16 | } -------------------------------------------------------------------------------- /src/resources/scss/components/_badge.scss: -------------------------------------------------------------------------------- 1 | .badge--inherit-font-size { 2 | font-size: .9em; 3 | } -------------------------------------------------------------------------------- /src/resources/scss/components/_colorwheel.scss: -------------------------------------------------------------------------------- 1 | .colorwheel { 2 | display: block; 3 | padding-left: 175px; 4 | position: relative; 5 | } 6 | 7 | .colorwheel-background { 8 | height: 150px; 9 | position: relative; 10 | } 11 | 12 | .colorwheel-input { 13 | background-color: transparent; 14 | border-style: solid; 15 | border-width: 0 0 2px 0; 16 | left: 25px; 17 | position: absolute; 18 | top: 50%; 19 | transform: translateY(-50%); 20 | } 21 | 22 | .colorwheel-wheel { 23 | height: 150px; 24 | left: 0; 25 | position: absolute; 26 | top: 0; 27 | width: 150px; 28 | } -------------------------------------------------------------------------------- /src/resources/scss/components/_dropdown-item.scss: -------------------------------------------------------------------------------- 1 | .dropdown-item { 2 | cursor: pointer; 3 | } -------------------------------------------------------------------------------- /src/resources/scss/components/_dropdown.scss: -------------------------------------------------------------------------------- 1 | .dropdown-menu { 2 | width: auto; 3 | min-width: 0; 4 | 5 | &-right { 6 | right: 0; 7 | left: auto; 8 | } 9 | } 10 | 11 | .dropdown-item { 12 | .material-icons + span { 13 | margin-top: 2px; 14 | } 15 | } -------------------------------------------------------------------------------- /src/resources/scss/components/_flag-btn.scss: -------------------------------------------------------------------------------- 1 | .flag-btn { 2 | background: transparent; 3 | padding-left: 10px; 4 | padding-right: 10px; 5 | 6 | &:after { 7 | background-color: theme-color(primary); 8 | bottom: 0; 9 | content: ""; 10 | height: 2px; 11 | left: 50%; 12 | position: absolute; 13 | transform: translateX(-50%); 14 | transition: .1s ease-in-out width; 15 | width: 0; 16 | } 17 | 18 | &.active:after, 19 | &:hover:after { 20 | width: 100%; 21 | } 22 | } -------------------------------------------------------------------------------- /src/resources/scss/components/_inline-edit.scss: -------------------------------------------------------------------------------- 1 | .inline-edit { 2 | display: block; 3 | position: relative; 4 | } 5 | 6 | .inline-edit-value { 7 | display: block; 8 | padding: 2px 40px 2px 0; 9 | } 10 | 11 | .inline-edit-input { 12 | display: block; 13 | width: 100%; 14 | } 15 | 16 | .inline-edit-button { 17 | position: absolute; 18 | right: 0; 19 | top: 50%; 20 | transform: translateY(-50%); 21 | } -------------------------------------------------------------------------------- /src/resources/scss/components/_loading-bar.scss: -------------------------------------------------------------------------------- 1 | #loading-bar { 2 | background-color: #fff; 3 | height: 5px; 4 | left: 0; 5 | position: fixed; 6 | right: 0; 7 | top: 0; 8 | z-index: z-index(loadingbar); 9 | 10 | .bar { 11 | background-color: theme-color(info); 12 | bottom: 0; 13 | left: 0; 14 | position: absolute; 15 | top: 0; 16 | transition: .25s ease-in-out width; 17 | } 18 | } 19 | 20 | #loading-bar-spinner { 21 | display: none; 22 | } -------------------------------------------------------------------------------- /src/resources/scss/components/_loading-overlay.scss: -------------------------------------------------------------------------------- 1 | .loading-overlay { 2 | background-color: rgb(66, 66, 74); 3 | bottom: 0; 4 | color: $white; 5 | left: 0; 6 | position: fixed; 7 | right: 0; 8 | top: 0; 9 | z-index: z-index(overlay); 10 | } 11 | 12 | .loading-overlay-title { 13 | font-size: 40px; 14 | font-weight: 400; 15 | margin: 150px 0 0 0; 16 | text-align: center; 17 | color: $white; 18 | } 19 | -------------------------------------------------------------------------------- /src/resources/scss/components/_material-icons.scss: -------------------------------------------------------------------------------- 1 | .material-icons { 2 | display: inline-block; 3 | vertical-align: middle; 4 | font-size: 1em; 5 | line-height: 1em; 6 | 7 | + span { 8 | display: inline-block; 9 | vertical-align: middle; 10 | margin-left: 5px; 11 | } 12 | 13 | .btn-sm & { 14 | font-size: 16px; 15 | } 16 | } -------------------------------------------------------------------------------- /src/resources/scss/components/_pagination.scss: -------------------------------------------------------------------------------- 1 | .pagination { 2 | display: block; 3 | } 4 | 5 | .pagination-page { 6 | display: inline-block; 7 | margin: 0 5px; 8 | vertical-align: middle; 9 | } 10 | 11 | .pagination-input { 12 | display: inline-block; 13 | } 14 | 15 | .pagination-delimiter { 16 | display: inline-block; 17 | margin: 0 2px 0 4px; 18 | } 19 | 20 | .pagination-number-of-pages { 21 | display: inline-block; 22 | } 23 | 24 | .pagination-btn { 25 | font-size: 22px; 26 | 27 | &::after { 28 | left: 50%; 29 | transform: translate(-50%, -50%); 30 | } 31 | } 32 | -------------------------------------------------------------------------------- /src/resources/scss/components/_sortable.scss: -------------------------------------------------------------------------------- 1 | .sortable-up-first { 2 | visibility: hidden; 3 | } 4 | 5 | .sortable-up-last { 6 | visibility: hidden; 7 | } -------------------------------------------------------------------------------- /src/resources/scss/components/_tab.scss: -------------------------------------------------------------------------------- 1 | .tab-pane .tab-pane { 2 | border: none; 3 | padding: 0; 4 | } -------------------------------------------------------------------------------- /src/resources/scss/components/_user-timeout.scss: -------------------------------------------------------------------------------- 1 | .user-timeout { 2 | display: block; 3 | overflow: visible; 4 | } 5 | 6 | .user-timeout-timer { 7 | stroke-dasharray: 81px; 8 | transition: .25s ease-in-out stroke-dashoffset, .25s ease-in-out stroke; 9 | 10 | .user-timeout-critical & { 11 | stroke: theme-color(danger); 12 | } 13 | } -------------------------------------------------------------------------------- /src/resources/scss/components/_zaa-checkbox-array.scss: -------------------------------------------------------------------------------- 1 | zaa-checkbox-array .form-check { 2 | margin-bottom: 0; 3 | } 4 | 5 | .zaa-checkbox-array-counter { 6 | position: absolute; 7 | right: 10px; 8 | top: 50%; 9 | transform: translateY(-50%); 10 | z-index: z-index(above-content); 11 | } 12 | 13 | .zaa-checkbox-array-toggle-all { 14 | float: right; 15 | margin-top: 2px; 16 | position: relative; 17 | right: 0; 18 | } 19 | 20 | .zaa-checkbox-array-toggle-all + luya-checkbox-array { 21 | width: calc(100% - 45px); 22 | float: left; 23 | } 24 | -------------------------------------------------------------------------------- /src/resources/scss/components/_zaa-date.scss: -------------------------------------------------------------------------------- 1 | .zaa-date { 2 | .input-group { 3 | float: left; 4 | } 5 | 6 | .input-group-append .material-icons { 7 | font-size: 1.3em; 8 | } 9 | 10 | .hour-selection { 11 | margin-left: 25px; 12 | } 13 | } -------------------------------------------------------------------------------- /src/resources/scss/components/_zaa-datetime.scss: -------------------------------------------------------------------------------- 1 | .zaa-datetime { 2 | .input-group { 3 | float: left; 4 | } 5 | 6 | .input-group-append .material-icons { 7 | font-size: 1.3em; 8 | } 9 | 10 | .hour-selection { 11 | margin-left: 25px; 12 | 13 | .input-group:first-of-type { 14 | margin-right: -1px; 15 | } 16 | } 17 | } 18 | 19 | .zaa-datetime-time-colon { 20 | z-index: z-index(above-content); 21 | 22 | .input-group-text { 23 | border: none; 24 | } 25 | } 26 | 27 | .zaa-datetime-hour-input, 28 | .zaa-datetime-minute-input { 29 | max-width: 45px; 30 | text-align: center; 31 | width: 100%; 32 | } 33 | -------------------------------------------------------------------------------- /src/resources/scss/components/_zaa-file-array-upload.scss: -------------------------------------------------------------------------------- 1 | zaa-file-array-upload { 2 | & + .flag { 3 | margin-right: 70px; 4 | } 5 | } 6 | 7 | .form-i18n zaa-file-array-upload.is-empty { 8 | .alert { 9 | margin-right: 45px; 10 | } 11 | 12 | & + .flag { 13 | margin-right: 0; 14 | } 15 | } 16 | 17 | .zaa-file-array-upload { 18 | 19 | .form-group { 20 | margin: 0; 21 | } 22 | } 23 | 24 | .zaa-file-array-upload-description { 25 | display: block; 26 | width: 100%; 27 | } -------------------------------------------------------------------------------- /src/resources/scss/components/_zaa-image-array-upload.scss: -------------------------------------------------------------------------------- 1 | zaa-image-array-upload { 2 | & + .flag { 3 | margin-right: 70px; 4 | } 5 | } 6 | 7 | .form-i18n zaa-image-array-upload.is-empty { 8 | .alert { 9 | margin-right: 45px; 10 | } 11 | 12 | & + .flag { 13 | margin-right: 0; 14 | } 15 | } -------------------------------------------------------------------------------- /src/resources/scss/components/_zaa-multiple-inputs.scss: -------------------------------------------------------------------------------- 1 | .zaa-multiple-inputs .list-item > div { 2 | .form-group { 3 | margin-bottom: 0; 4 | } 5 | 6 | &:not(:first-of-type):not(.list-buttons) { 7 | margin-top: 15px; 8 | } 9 | } 10 | -------------------------------------------------------------------------------- /src/resources/scss/fonts/_all.scss: -------------------------------------------------------------------------------- 1 | $font-base-path: "../fonts/" !default; 2 | 3 | @import "material-icons"; 4 | @import "roboto"; -------------------------------------------------------------------------------- /src/resources/scss/helpers/_google-chrome-font-offset-fix.scss: -------------------------------------------------------------------------------- 1 | @mixin google-chrome-font-offset-fix { 2 | 3 | @media (-webkit-min-device-pixel-ratio: 0) { 4 | margin-top: 2px; 5 | } 6 | 7 | } 8 | 9 | .google-chrome-font-offset-fix { 10 | display: inline-block; 11 | @include google-chrome-font-offset-fix; 12 | } -------------------------------------------------------------------------------- /src/resources/scss/helpers/_zindex.scss: -------------------------------------------------------------------------------- 1 | @function z-index($element: "default") { 2 | @return index($zindex-elements, $element) * 10; 3 | } -------------------------------------------------------------------------------- /src/resources/scss/variables/_custom.scss: -------------------------------------------------------------------------------- 1 | $mobile-nav-breakpoint: 960px; 2 | $reponsive-table-breakpoint: 1280px; 3 | 4 | $mainnav-width: 200px; 5 | $mainnav-width-small: 62px; 6 | 7 | $content-padding-y: 10px; 8 | $content-padding-x: 10px; -------------------------------------------------------------------------------- /src/resources/scss/variables/_zindex.scss: -------------------------------------------------------------------------------- 1 | $zindex-elements: 2 | content, 3 | above-content, 4 | form, 5 | above-form, 6 | filemanager, 7 | file-detail, 8 | block-drop-indicator, 9 | block-toolbar, 10 | dropdown, 11 | popover, 12 | luyasearch, 13 | navbar, 14 | inlinemodal, 15 | toast, 16 | overlay, 17 | modal, 18 | modal-toast, 19 | tooltip, 20 | debug-toolbar, 21 | loadingbar, 22 | ; -------------------------------------------------------------------------------- /src/resources/svg/login/spinner.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /src/views/aws/detailview/index.php: -------------------------------------------------------------------------------- 1 | 5 | 6 |
7 | 8 | 9 |
10 | $model, 12 | 'attributes' => $attributes, 13 | 'options' => ['class' => 'table table-bordered table-striped'], 14 | ]); ?> 15 |
16 | 17 | 18 |
19 | -------------------------------------------------------------------------------- /src/views/default/dashboard.php: -------------------------------------------------------------------------------- 1 |
2 |
3 | 4 | getTemplate(); ?> 5 | 6 |
7 |
8 | -------------------------------------------------------------------------------- /src/views/default/index.php: -------------------------------------------------------------------------------- 1 | 2 | -------------------------------------------------------------------------------- /src/views/ngrest/_awform.php: -------------------------------------------------------------------------------- 1 | 2 |
3 |
-------------------------------------------------------------------------------- /src/views/storage/index.php: -------------------------------------------------------------------------------- 1 |
2 | 3 |
-------------------------------------------------------------------------------- /tests/Dockerfile: -------------------------------------------------------------------------------- 1 | FROM php:8.2-cli 2 | ENV PHP_MEMORY_LIMIT=2048M 3 | RUN echo 'memory_limit = 2048M' >> /usr/local/etc/php/conf.d/docker-php-memlimit.ini; 4 | RUN apt-get update -yqq \ 5 | && apt-get install -y libicu-dev libzip-dev libpng-dev libjpeg-dev libfreetype6 libfreetype6-dev sqlite3 \ 6 | && docker-php-ext-configure gd --enable-gd --with-freetype --with-jpeg \ 7 | && docker-php-ext-install intl mysqli pdo pdo_mysql gd zip -------------------------------------------------------------------------------- /tests/admin/MessageFileTest.php: -------------------------------------------------------------------------------- 1 | compareMessages(Yii::getAlias('@admin/messages'), 'en'); 15 | } 16 | } 17 | -------------------------------------------------------------------------------- /tests/admin/MigrationsFileTest.php: -------------------------------------------------------------------------------- 1 | checkMigrationFolder('@admin/migrations'); 15 | } 16 | } 17 | */ 18 | -------------------------------------------------------------------------------- /tests/admin/ModuleTest.php: -------------------------------------------------------------------------------- 1 | assertArrayHasKey(64, $module->getJsTranslationMessages()); 15 | $this->assertArrayHasKey('crop_quality_low', $module->getJsTranslations()); 16 | } 17 | } 18 | -------------------------------------------------------------------------------- /tests/admin/base/PropertyTest.php: -------------------------------------------------------------------------------- 1 | assertSame('barfoo', MyTestProperty::identifier()); 13 | $this->assertSame('barfoo', (new MyTestProperty())->varName()); 14 | } 15 | } 16 | -------------------------------------------------------------------------------- /tests/admin/base/RestActiveControllerTest.php: -------------------------------------------------------------------------------- 1 | createAdminLangFixture(); 14 | $sub = new class ('id', $this->app) extends RestActiveController { 15 | public $modelClass = 'User'; 16 | }; 17 | $sub->enableCors = true; 18 | $this->assertTrue($sub->isActionAuthOptional('unknown')); 19 | } 20 | } 21 | -------------------------------------------------------------------------------- /tests/admin/behaviors/BlameableBehaviorTest.php: -------------------------------------------------------------------------------- 1 | assertNull($this->invokeMethod($behavior, 'getValue', [new Event()])); 16 | } 17 | } 18 | -------------------------------------------------------------------------------- /tests/admin/commands/SetupControllerTest.php: -------------------------------------------------------------------------------- 1 | getConfigArray()); 14 | $ctrl = new SetupController('setup', $app); 15 | 16 | $this->assertInstanceOf('\luya\admin\commands\SetupController', $ctrl); 17 | } 18 | } 19 | -------------------------------------------------------------------------------- /tests/admin/components/JwtTest.php: -------------------------------------------------------------------------------- 1 | expectException('yii\base\InvalidConfigException'); 13 | $component = new Jwt(); 14 | } 15 | } 16 | -------------------------------------------------------------------------------- /tests/admin/controllers/UptimeControllerTest.php: -------------------------------------------------------------------------------- 1 | app); 13 | 14 | $response = $ctrl->actionIndex(); 15 | 16 | $this->assertArrayHasKey('db', $response); 17 | $this->assertTrue($response['db']); 18 | } 19 | } 20 | -------------------------------------------------------------------------------- /tests/admin/ngrest/plugins/SortableTest.php: -------------------------------------------------------------------------------- 1 | 'slug', 14 | 'name' => 'slug', 15 | 'i18n' => true, 16 | ]); 17 | 18 | $html = $renderList->renderList(1, 'foobar'); 19 | $this->assertNotEmpty($html); 20 | } 21 | } 22 | -------------------------------------------------------------------------------- /tests/admin/storage/DummyFileSystemTest.php: -------------------------------------------------------------------------------- 1 | request); 14 | } 15 | 16 | public function testDummyFiles() 17 | { 18 | $storage = $this->getStorage(); 19 | $storage->addDummyFile(['id' => 1]); 20 | $storage->insertDummyFiles(); 21 | 22 | $this->assertSame(1, $storage->getFilesArrayItem(1)['id']); 23 | } 24 | } 25 | -------------------------------------------------------------------------------- /tests/assets/.gitignore: -------------------------------------------------------------------------------- 1 | * 2 | 3 | !.gitignore -------------------------------------------------------------------------------- /tests/data/controllers/StubApiUserControllerController.php: -------------------------------------------------------------------------------- 1 | module->id . '/' . $this->id . '/' . 'foo-bar'; 12 | } 13 | } 14 | -------------------------------------------------------------------------------- /tests/data/controllers/TestController.php: -------------------------------------------------------------------------------- 1 | 'John', 15 | 'lang2' => 'Jojo', 16 | ]); 17 | $data['user1']['lastname'] = I18n::encode([ 18 | 'lang1' => 'Doe', 19 | 'lang2' => 'Dodo', 20 | ]); 21 | return $data; 22 | } 23 | } 24 | -------------------------------------------------------------------------------- /tests/data/fixtures/TagFixture.php: -------------------------------------------------------------------------------- 1 | [ 21 | 'id' => '1', 22 | 'name' => 'john', 23 | ], 24 | 'tag2' => [ 25 | 'id' => '2', 26 | 'name' => 'Jane', 27 | ], 28 | ]; 29 | } 30 | } 31 | -------------------------------------------------------------------------------- /tests/data/fixtures/UserOnlineFixture.php: -------------------------------------------------------------------------------- 1 | [ 21 | 'user_id' => 1, 22 | 'last_timestamp' => 1544767318, 23 | 'invoken_route' => 'admin/default/index', 24 | ], 25 | ]; 26 | } 27 | } 28 | -------------------------------------------------------------------------------- /tests/data/image.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/luyadev/luya-module-admin/240459ff9b6097935b619b7a6666e5770255302f/tests/data/image.jpg -------------------------------------------------------------------------------- /tests/data/mocks/proxy/ClientTableMock.php: -------------------------------------------------------------------------------- 1 | db->createCommand('KILL (SELECT CONNECTION_ID());')->execute(); 15 | } catch (\Throwable $ex) { 16 | } 17 | 18 | parent::cleanup($sqlMode); 19 | } 20 | } 21 | -------------------------------------------------------------------------------- /tests/data/models/I18nUser.php: -------------------------------------------------------------------------------- 1 | ['field' => 'value'], 13 | ]; 14 | } 15 | } 16 | -------------------------------------------------------------------------------- /tests/data/modules/ExtendPermissionModule.php: -------------------------------------------------------------------------------- 1 | 'my-test-api', 'alias' => 'Foobar Alias'], 13 | ]; 14 | } 15 | 16 | public function extendPermissionRoutes() 17 | { 18 | return [ 19 | ['route' => 'foobar/route', 'alias' => 'Foobar Alias'], 20 | ]; 21 | } 22 | } 23 | -------------------------------------------------------------------------------- /tests/data/modules/crudmodulefolder/admin/Module.php: -------------------------------------------------------------------------------- 1 |