Copy disabled (too large)
Download .txt
Showing preview only (15,233K chars total). Download the full file to get everything.
Repository: andes2912/laundry
Branch: 3.1
Commit: 6ad241378979
Files: 681
Total size: 14.3 MB
Directory structure:
gitextract_2jut_fdk/
├── .circleci/
│ └── config.yml
├── .editorconfig
├── .gitattributes
├── .github/
│ ├── FUNDING.yml
│ └── ISSUE_TEMPLATE/
│ ├── bug_report.md
│ └── feature_request.md
├── .gitignore
├── .styleci.yml
├── CODE_OF_CONDUCT.md
├── LICENSE
├── app/
│ ├── Console/
│ │ ├── Commands/
│ │ │ └── CreateAdminCommand.php
│ │ └── Kernel.php
│ ├── Exceptions/
│ │ └── Handler.php
│ ├── Exports/
│ │ └── LaporanExport.php
│ ├── Helpers/
│ │ └── Model.php
│ ├── Http/
│ │ ├── Controllers/
│ │ │ ├── Admin/
│ │ │ │ ├── AdminController.php
│ │ │ │ ├── CustomerController.php
│ │ │ │ ├── DokumentasiController.php
│ │ │ │ ├── FinanceController.php
│ │ │ │ ├── KaryawanController.php
│ │ │ │ ├── SettingsController.php
│ │ │ │ └── TransaksiController.php
│ │ │ ├── Auth/
│ │ │ │ ├── ForgotPasswordController.php
│ │ │ │ ├── LoginController.php
│ │ │ │ ├── RegisterController.php
│ │ │ │ ├── ResetPasswordController.php
│ │ │ │ └── VerificationController.php
│ │ │ ├── Controller.php
│ │ │ ├── Customer/
│ │ │ │ ├── ProfileController.php
│ │ │ │ └── SettingController.php
│ │ │ ├── FrontController.php
│ │ │ ├── HomeController.php
│ │ │ └── Karyawan/
│ │ │ ├── CustomerController.php
│ │ │ ├── InvoiceController.php
│ │ │ ├── LaporanController.php
│ │ │ ├── PelayananController.php
│ │ │ ├── ProfileController.php
│ │ │ └── SettingsController.php
│ │ ├── Kernel.php
│ │ ├── Middleware/
│ │ │ ├── Authenticate.php
│ │ │ ├── CheckForMaintenanceMode.php
│ │ │ ├── EncryptCookies.php
│ │ │ ├── RedirectIfAuthenticated.php
│ │ │ ├── TrimStrings.php
│ │ │ ├── TrustProxies.php
│ │ │ └── VerifyCsrfToken.php
│ │ └── Requests/
│ │ ├── AddCustomerRequest.php
│ │ ├── AddKaryawanRequest.php
│ │ ├── AddOrderRequest.php
│ │ ├── HargaRequest.php
│ │ ├── LoginRequest.php
│ │ └── UpdateProfilRequest.php
│ ├── Jobs/
│ │ ├── DoneCustomerJob.php
│ │ ├── OrderCustomerJob.php
│ │ └── RegisterCustomerJob.php
│ ├── Mail/
│ │ ├── DoneCustomer.php
│ │ ├── OrderCustomer.php
│ │ └── RegisterCustomer.php
│ ├── Models/
│ │ ├── Bank.php
│ │ ├── DataBank.php
│ │ ├── LaundrySetting.php
│ │ ├── Notification.php
│ │ ├── PageSettings.php
│ │ ├── User.php
│ │ ├── harga.php
│ │ ├── notifications_setting.php
│ │ └── transaksi.php
│ ├── Notifications/
│ │ ├── OrderMasuk.php
│ │ └── OrderSelesai.php
│ └── Providers/
│ ├── AppServiceProvider.php
│ ├── AuthServiceProvider.php
│ ├── BroadcastServiceProvider.php
│ ├── EventServiceProvider.php
│ └── RouteServiceProvider.php
├── artisan
├── bootstrap/
│ ├── app.php
│ └── cache/
│ └── .gitignore
├── composer.json
├── config/
│ ├── app.php
│ ├── auth.php
│ ├── broadcasting.php
│ ├── cache.php
│ ├── database.php
│ ├── excel.php
│ ├── filesystems.php
│ ├── hashing.php
│ ├── logging.php
│ ├── mail.php
│ ├── permission.php
│ ├── queue.php
│ ├── services.php
│ ├── session.php
│ ├── sweet-alert.php
│ ├── sweetalert.php
│ └── view.php
├── database/
│ ├── .gitignore
│ ├── factories/
│ │ └── UserFactory.php
│ ├── migrations/
│ │ ├── 2014_10_12_000000_create_users_table.php
│ │ ├── 2014_10_12_100000_create_password_resets_table.php
│ │ ├── 2019_05_24_091904_create_transaksis_table.php
│ │ ├── 2019_05_24_094505_create_hargas_table.php
│ │ ├── 2021_03_19_231220_create_page_settings_table.php
│ │ ├── 2021_03_21_124956_add_theme_to_users_table.php
│ │ ├── 2021_03_22_001021_create_laundry_settings_table.php
│ │ ├── 2021_05_07_100208_create_permission_tables.php
│ │ ├── 2021_05_07_135323_create_data_banks_table.php
│ │ ├── 2021_05_07_155403_add_field_in_transaksi.php
│ │ ├── 2021_05_11_130732_create_notifications_settings_table.php
│ │ ├── 2021_08_08_100000_create_banks_tables.php
│ │ ├── 2021_12_30_231550_add_field_username_telegram_channel_to_notifications_settings_table.php
│ │ ├── 2022_01_28_171610_add_field_foto_to_users_table.php
│ │ ├── 2022_01_29_185408_add_field_token_wa_to_notifications_settings_table.php
│ │ ├── 2022_01_31_105111_update_field_auth_in_users_table.php
│ │ ├── 2022_01_31_112034_add_field_karyawan_id_wa_in_users_table.php
│ │ ├── 2022_02_02_220553_create_jobs_table.php
│ │ ├── 2022_02_02_231121_create_failed_jobs_table.php
│ │ ├── 2022_02_03_144826_add_field_point_in_users_table.php
│ │ └── 2022_09_27_125933_create_notifications_table.php
│ └── seeders/
│ ├── DatabaseSeeder.php
│ ├── IndoBankSeeder.php
│ ├── RoleSeeder.php
│ ├── SettingPageSeeder.php
│ └── addRoleSeeder.php
├── package.json
├── phpunit.xml
├── public/
│ ├── .htaccess
│ ├── backend/
│ │ ├── css/
│ │ │ ├── bootstrap-extended.css
│ │ │ ├── bootstrap.css
│ │ │ ├── colors.css
│ │ │ ├── components.css
│ │ │ ├── core/
│ │ │ │ ├── colors/
│ │ │ │ │ ├── palette-gradient.css
│ │ │ │ │ ├── palette-noui.css
│ │ │ │ │ └── palette-variables.css
│ │ │ │ ├── menu/
│ │ │ │ │ └── menu-types/
│ │ │ │ │ ├── horizontal-menu.css
│ │ │ │ │ ├── vertical-menu.css
│ │ │ │ │ └── vertical-overlay-menu.css
│ │ │ │ └── mixins/
│ │ │ │ ├── alert.css
│ │ │ │ ├── hex2rgb.css
│ │ │ │ ├── main-menu-mixin.css
│ │ │ │ └── transitions.css
│ │ │ ├── pages/
│ │ │ │ ├── aggrid.css
│ │ │ │ ├── app-chat.css
│ │ │ │ ├── app-ecommerce-details.css
│ │ │ │ ├── app-ecommerce-shop.css
│ │ │ │ ├── app-email.css
│ │ │ │ ├── app-todo.css
│ │ │ │ ├── app-user.css
│ │ │ │ ├── app-users.css
│ │ │ │ ├── authentication.css
│ │ │ │ ├── card-analytics.css
│ │ │ │ ├── colors.css
│ │ │ │ ├── coming-soon.css
│ │ │ │ ├── dashboard-analytics.css
│ │ │ │ ├── dashboard-ecommerce.css
│ │ │ │ ├── data-list-view.css
│ │ │ │ ├── error.css
│ │ │ │ ├── faq.css
│ │ │ │ ├── invoice.css
│ │ │ │ ├── knowledge-base.css
│ │ │ │ ├── page-auth.css
│ │ │ │ ├── register.css
│ │ │ │ ├── search.css
│ │ │ │ ├── timeline.css
│ │ │ │ ├── user-settings.css
│ │ │ │ └── users.css
│ │ │ ├── plugins/
│ │ │ │ ├── animate/
│ │ │ │ │ └── animate.css
│ │ │ │ ├── extensions/
│ │ │ │ │ ├── context-menu.css
│ │ │ │ │ ├── drag-and-drop.css
│ │ │ │ │ ├── media-plyr.css
│ │ │ │ │ ├── noui-slider.css
│ │ │ │ │ ├── swiper.css
│ │ │ │ │ └── toastr.css
│ │ │ │ ├── forms/
│ │ │ │ │ ├── extended/
│ │ │ │ │ │ └── typeahed.css
│ │ │ │ │ ├── form-inputs-groups.css
│ │ │ │ │ ├── validation/
│ │ │ │ │ │ └── form-validation.css
│ │ │ │ │ └── wizard.css
│ │ │ │ ├── loaders/
│ │ │ │ │ ├── animations/
│ │ │ │ │ │ ├── ball-beat.css
│ │ │ │ │ │ ├── ball-clip-rotate-multiple.css
│ │ │ │ │ │ ├── ball-clip-rotate-pulse.css
│ │ │ │ │ │ ├── ball-clip-rotate.css
│ │ │ │ │ │ ├── ball-grid-beat.css
│ │ │ │ │ │ ├── ball-grid-pulse.css
│ │ │ │ │ │ ├── ball-pulse-rise.css
│ │ │ │ │ │ ├── ball-pulse-round.css
│ │ │ │ │ │ ├── ball-pulse-sync.css
│ │ │ │ │ │ ├── ball-pulse.css
│ │ │ │ │ │ ├── ball-rotate.css
│ │ │ │ │ │ ├── ball-scale-multiple.css
│ │ │ │ │ │ ├── ball-scale-random.css
│ │ │ │ │ │ ├── ball-scale-ripple-multiple.css
│ │ │ │ │ │ ├── ball-scale-ripple.css
│ │ │ │ │ │ ├── ball-scale.css
│ │ │ │ │ │ ├── ball-spin-fade-loader.css
│ │ │ │ │ │ ├── ball-spin-loader.css
│ │ │ │ │ │ ├── ball-triangle-trace.css
│ │ │ │ │ │ ├── ball-zig-zag-deflect.css
│ │ │ │ │ │ ├── ball-zig-zag.css
│ │ │ │ │ │ ├── cube-transition.css
│ │ │ │ │ │ ├── line-scale-pulse-out-rapid.css
│ │ │ │ │ │ ├── line-scale-pulse-out.css
│ │ │ │ │ │ ├── line-scale-random.css
│ │ │ │ │ │ ├── line-scale.css
│ │ │ │ │ │ ├── line-spin-fade-loader.css
│ │ │ │ │ │ ├── pacman.css
│ │ │ │ │ │ ├── semi-circle-spin.css
│ │ │ │ │ │ ├── square-spin.css
│ │ │ │ │ │ └── triangle-skew-spin.css
│ │ │ │ │ └── loaders.css
│ │ │ │ ├── pickers/
│ │ │ │ │ └── bootstrap-datetimepicker-build.css
│ │ │ │ └── ui/
│ │ │ │ └── coming-soon.css
│ │ │ └── themes/
│ │ │ ├── dark-layout.css
│ │ │ └── semi-dark-layout.css
│ │ ├── fonts/
│ │ │ ├── feather/
│ │ │ │ └── iconfont.css
│ │ │ ├── flag-icon-css/
│ │ │ │ ├── LICENSE
│ │ │ │ ├── README.md
│ │ │ │ ├── css/
│ │ │ │ │ └── flag-icon.css
│ │ │ │ └── sass/
│ │ │ │ ├── flag-icon-base.scss
│ │ │ │ ├── flag-icon-list.scss
│ │ │ │ ├── flag-icon-more.scss
│ │ │ │ ├── flag-icon.scss
│ │ │ │ └── variables.scss
│ │ │ └── font-awesome/
│ │ │ ├── css/
│ │ │ │ └── font-awesome.css
│ │ │ └── fonts/
│ │ │ └── FontAwesome.otf
│ │ ├── js/
│ │ │ ├── core/
│ │ │ │ ├── app-menu.js
│ │ │ │ └── app.js
│ │ │ └── scripts/
│ │ │ ├── ag-grid/
│ │ │ │ └── ag-grid.js
│ │ │ ├── cards/
│ │ │ │ ├── card-analytics.js
│ │ │ │ └── card-statistics.js
│ │ │ ├── charts/
│ │ │ │ ├── chart-apex.js
│ │ │ │ ├── chart-chartjs.js
│ │ │ │ ├── chart-echart.js
│ │ │ │ └── gmaps/
│ │ │ │ └── maps.js
│ │ │ ├── components.js
│ │ │ ├── customizer.js
│ │ │ ├── datatables/
│ │ │ │ └── datatable.js
│ │ │ ├── documentation.js
│ │ │ ├── editors/
│ │ │ │ └── editor-quill.js
│ │ │ ├── extensions/
│ │ │ │ ├── context-menu.js
│ │ │ │ ├── copy-to-clipboard.js
│ │ │ │ ├── drag-drop.js
│ │ │ │ ├── dropzone.js
│ │ │ │ ├── fullcalendar.js
│ │ │ │ ├── i18n.js
│ │ │ │ ├── media-plyr.js
│ │ │ │ ├── noui-slider.js
│ │ │ │ ├── sweet-alerts.js
│ │ │ │ ├── swiper.js
│ │ │ │ ├── toastr.js
│ │ │ │ ├── tour.js
│ │ │ │ └── unslider.js
│ │ │ ├── footer.js
│ │ │ ├── forms/
│ │ │ │ ├── basic-inputs.js
│ │ │ │ ├── form-maxlength.js
│ │ │ │ ├── form-tooltip-valid.js
│ │ │ │ ├── number-input.js
│ │ │ │ ├── select/
│ │ │ │ │ └── form-select2.js
│ │ │ │ ├── validation/
│ │ │ │ │ └── form-validation.js
│ │ │ │ └── wizard-steps.js
│ │ │ ├── modal/
│ │ │ │ └── components-modal.js
│ │ │ ├── navs/
│ │ │ │ └── navs.js
│ │ │ ├── pages/
│ │ │ │ ├── 3-columns-left-sidebar.js
│ │ │ │ ├── account-setting.js
│ │ │ │ ├── app-chat.js
│ │ │ │ ├── app-ecommerce-details.js
│ │ │ │ ├── app-ecommerce-shop.js
│ │ │ │ ├── app-email.js
│ │ │ │ ├── app-todo.js
│ │ │ │ ├── app-user.js
│ │ │ │ ├── bootstrap-toast.js
│ │ │ │ ├── coming-soon.js
│ │ │ │ ├── content-sidebar.js
│ │ │ │ ├── dashboard-analytics.js
│ │ │ │ ├── dashboard-ecommerce.js
│ │ │ │ ├── faq-kb.js
│ │ │ │ ├── invoice.js
│ │ │ │ ├── page-auth-reset-password.js
│ │ │ │ ├── sk-content-sidebar.js
│ │ │ │ ├── user-profile.js
│ │ │ │ └── user-settings.js
│ │ │ ├── pagination/
│ │ │ │ └── pagination.js
│ │ │ ├── pickers/
│ │ │ │ └── dateTime/
│ │ │ │ └── pick-a-datetime.js
│ │ │ ├── popover/
│ │ │ │ └── popover.js
│ │ │ ├── tooltip/
│ │ │ │ └── tooltip.js
│ │ │ └── ui/
│ │ │ └── data-list-view.js
│ │ └── vendors/
│ │ ├── css/
│ │ │ ├── animate/
│ │ │ │ └── animate.css
│ │ │ ├── charts/
│ │ │ │ └── apexcharts.css
│ │ │ ├── documentation.css
│ │ │ ├── extensions/
│ │ │ │ ├── dataTables.checkboxes.css
│ │ │ │ ├── pace.css
│ │ │ │ ├── plyr.css
│ │ │ │ ├── shepherd-theme-default.css
│ │ │ │ ├── tether-theme-arrows.css
│ │ │ │ ├── toastr.css
│ │ │ │ └── unslider.css
│ │ │ ├── forms/
│ │ │ │ ├── select/
│ │ │ │ │ └── select2.css
│ │ │ │ ├── spinner/
│ │ │ │ │ └── jquery.bootstrap-touchspin.css
│ │ │ │ └── toggle/
│ │ │ │ └── switchery.css
│ │ │ ├── modal/
│ │ │ │ ├── facebook.css
│ │ │ │ ├── google.css
│ │ │ │ └── twitter.css
│ │ │ ├── pickers/
│ │ │ │ └── pickadate/
│ │ │ │ ├── classic.css
│ │ │ │ ├── classic.date.css
│ │ │ │ ├── classic.time.css
│ │ │ │ ├── default.css
│ │ │ │ ├── default.time.css
│ │ │ │ └── pickadate.css
│ │ │ ├── tables/
│ │ │ │ ├── ag-grid/
│ │ │ │ │ ├── ag-grid.css
│ │ │ │ │ └── ag-theme-material.css
│ │ │ │ └── datatable/
│ │ │ │ └── extensions/
│ │ │ │ └── dataTables.checkboxes.css
│ │ │ └── ui/
│ │ │ └── prism-treeview.css
│ │ └── js/
│ │ ├── charts/
│ │ │ ├── apexcharts.js
│ │ │ └── echarts/
│ │ │ └── echarts.js
│ │ ├── extensions/
│ │ │ ├── lang-all.js
│ │ │ ├── locale-all.js
│ │ │ ├── transition.js
│ │ │ └── wNumb.js
│ │ ├── forms/
│ │ │ ├── extended/
│ │ │ │ ├── maxlength/
│ │ │ │ │ └── bootstrap-maxlength.js
│ │ │ │ └── typeahead/
│ │ │ │ └── handlebars.js
│ │ │ ├── select/
│ │ │ │ ├── select2.full.js
│ │ │ │ └── select2.js
│ │ │ ├── spinner/
│ │ │ │ └── jquery.bootstrap-touchspin.js
│ │ │ ├── toggle/
│ │ │ │ └── switchery.js
│ │ │ └── validation/
│ │ │ └── jqBootstrapValidation.js
│ │ ├── media/
│ │ │ ├── plyr.js
│ │ │ └── plyr.polyfilled.js
│ │ ├── pickers/
│ │ │ └── pickadate/
│ │ │ ├── legacy.js
│ │ │ ├── picker.date.js
│ │ │ ├── picker.js
│ │ │ └── picker.time.js
│ │ ├── tables/
│ │ │ ├── ag-grid/
│ │ │ │ └── ag-grid-community.min.noStyle.js
│ │ │ └── datatable/
│ │ │ └── vfs_fonts.js
│ │ ├── ui/
│ │ │ ├── affix.js
│ │ │ ├── jquery-sliding-menu.js
│ │ │ ├── jquery.matchHeight-min.js
│ │ │ ├── jquery.sticky.js
│ │ │ └── prism-treeview.js
│ │ └── vendors.js
│ ├── frontend/
│ │ ├── crossbrowserjs/
│ │ │ └── html5shiv.js
│ │ ├── css/
│ │ │ └── forum/
│ │ │ ├── style-responsive.css
│ │ │ ├── style.css
│ │ │ └── theme/
│ │ │ ├── blue.css
│ │ │ ├── default.css
│ │ │ ├── orange.css
│ │ │ ├── purple.css
│ │ │ └── red.css
│ │ ├── js/
│ │ │ ├── forum/
│ │ │ │ ├── apps.js
│ │ │ │ └── forum-details-page.js
│ │ │ └── swal/
│ │ │ └── sweetalert2.js
│ │ └── plugins/
│ │ ├── animate/
│ │ │ └── animate.css
│ │ ├── bootstrap3/
│ │ │ ├── css/
│ │ │ │ ├── bootstrap-theme.css
│ │ │ │ └── bootstrap.css
│ │ │ └── js/
│ │ │ ├── bootstrap.js
│ │ │ └── npm.js
│ │ ├── bootstrap4/
│ │ │ ├── css/
│ │ │ │ ├── bootstrap-grid.css
│ │ │ │ ├── bootstrap-reboot.css
│ │ │ │ └── bootstrap.css
│ │ │ └── js/
│ │ │ ├── bootstrap.bundle.js
│ │ │ └── bootstrap.js
│ │ ├── font-awesome/
│ │ │ ├── css/
│ │ │ │ └── font-awesome.css
│ │ │ ├── fonts/
│ │ │ │ └── FontAwesome.otf
│ │ │ ├── less/
│ │ │ │ ├── animated.less
│ │ │ │ ├── bordered-pulled.less
│ │ │ │ ├── core.less
│ │ │ │ ├── fixed-width.less
│ │ │ │ ├── font-awesome.less
│ │ │ │ ├── icons.less
│ │ │ │ ├── larger.less
│ │ │ │ ├── list.less
│ │ │ │ ├── mixins.less
│ │ │ │ ├── path.less
│ │ │ │ ├── rotated-flipped.less
│ │ │ │ ├── screen-reader.less
│ │ │ │ ├── stacked.less
│ │ │ │ └── variables.less
│ │ │ └── scss/
│ │ │ ├── _animated.scss
│ │ │ ├── _bordered-pulled.scss
│ │ │ ├── _core.scss
│ │ │ ├── _fixed-width.scss
│ │ │ ├── _icons.scss
│ │ │ ├── _larger.scss
│ │ │ ├── _list.scss
│ │ │ ├── _mixins.scss
│ │ │ ├── _path.scss
│ │ │ ├── _rotated-flipped.scss
│ │ │ ├── _screen-reader.scss
│ │ │ ├── _stacked.scss
│ │ │ ├── _variables.scss
│ │ │ └── font-awesome.scss
│ │ ├── jquery/
│ │ │ ├── jquery-1.9.1.js
│ │ │ └── jquery-migrate-1.1.0.js
│ │ ├── jquery-cookie/
│ │ │ └── jquery.cookie.js
│ │ ├── js-cookie/
│ │ │ └── js.cookie.js
│ │ ├── pace/
│ │ │ ├── .hsdoc
│ │ │ ├── Gruntfile.coffee
│ │ │ ├── LICENSE
│ │ │ ├── README.md
│ │ │ ├── bower.json
│ │ │ ├── docs/
│ │ │ │ ├── intro.md
│ │ │ │ ├── lib/
│ │ │ │ │ ├── color.js
│ │ │ │ │ ├── themes.coffee
│ │ │ │ │ └── themes.js
│ │ │ │ ├── resources/
│ │ │ │ │ ├── barber-pole-orange.css
│ │ │ │ │ ├── flash-white.css
│ │ │ │ │ └── templates/
│ │ │ │ │ ├── index.jade
│ │ │ │ │ └── page.jade
│ │ │ │ └── welcome/
│ │ │ │ └── index.html
│ │ │ ├── install.json
│ │ │ ├── pace.coffee
│ │ │ ├── pace.js
│ │ │ ├── package.json
│ │ │ ├── templates/
│ │ │ │ ├── pace-theme-barber-shop.tmpl.css
│ │ │ │ ├── pace-theme-big-counter.tmpl.css
│ │ │ │ ├── pace-theme-bounce.tmpl.css
│ │ │ │ ├── pace-theme-center-atom.tmpl.css
│ │ │ │ ├── pace-theme-center-circle.tmpl.css
│ │ │ │ ├── pace-theme-center-radar.tmpl.css
│ │ │ │ ├── pace-theme-center-simple.tmpl.css
│ │ │ │ ├── pace-theme-corner-indicator.tmpl.css
│ │ │ │ ├── pace-theme-fill-left.tmpl.css
│ │ │ │ ├── pace-theme-flash.tmpl.css
│ │ │ │ ├── pace-theme-flat-top.tmpl.css
│ │ │ │ ├── pace-theme-loading-bar.tmpl.css
│ │ │ │ ├── pace-theme-mac-osx.tmpl.css
│ │ │ │ └── pace-theme-minimal.tmpl.css
│ │ │ ├── tests/
│ │ │ │ └── demo.html
│ │ │ └── themes/
│ │ │ ├── black/
│ │ │ │ ├── pace-theme-barber-shop.css
│ │ │ │ ├── pace-theme-big-counter.css
│ │ │ │ ├── pace-theme-bounce.css
│ │ │ │ ├── pace-theme-center-atom.css
│ │ │ │ ├── pace-theme-center-circle.css
│ │ │ │ ├── pace-theme-center-radar.css
│ │ │ │ ├── pace-theme-center-simple.css
│ │ │ │ ├── pace-theme-corner-indicator.css
│ │ │ │ ├── pace-theme-fill-left.css
│ │ │ │ ├── pace-theme-flash.css
│ │ │ │ ├── pace-theme-flat-top.css
│ │ │ │ ├── pace-theme-loading-bar.css
│ │ │ │ ├── pace-theme-mac-osx.css
│ │ │ │ └── pace-theme-minimal.css
│ │ │ ├── blue/
│ │ │ │ ├── pace-theme-barber-shop.css
│ │ │ │ ├── pace-theme-big-counter.css
│ │ │ │ ├── pace-theme-bounce.css
│ │ │ │ ├── pace-theme-center-atom.css
│ │ │ │ ├── pace-theme-center-circle.css
│ │ │ │ ├── pace-theme-center-radar.css
│ │ │ │ ├── pace-theme-center-simple.css
│ │ │ │ ├── pace-theme-corner-indicator.css
│ │ │ │ ├── pace-theme-fill-left.css
│ │ │ │ ├── pace-theme-flash.css
│ │ │ │ ├── pace-theme-flat-top.css
│ │ │ │ ├── pace-theme-loading-bar.css
│ │ │ │ ├── pace-theme-mac-osx.css
│ │ │ │ └── pace-theme-minimal.css
│ │ │ ├── green/
│ │ │ │ ├── pace-theme-barber-shop.css
│ │ │ │ ├── pace-theme-big-counter.css
│ │ │ │ ├── pace-theme-bounce.css
│ │ │ │ ├── pace-theme-center-atom.css
│ │ │ │ ├── pace-theme-center-circle.css
│ │ │ │ ├── pace-theme-center-radar.css
│ │ │ │ ├── pace-theme-center-simple.css
│ │ │ │ ├── pace-theme-corner-indicator.css
│ │ │ │ ├── pace-theme-fill-left.css
│ │ │ │ ├── pace-theme-flash.css
│ │ │ │ ├── pace-theme-flat-top.css
│ │ │ │ ├── pace-theme-loading-bar.css
│ │ │ │ ├── pace-theme-mac-osx.css
│ │ │ │ └── pace-theme-minimal.css
│ │ │ ├── orange/
│ │ │ │ ├── pace-theme-barber-shop.css
│ │ │ │ ├── pace-theme-big-counter.css
│ │ │ │ ├── pace-theme-bounce.css
│ │ │ │ ├── pace-theme-center-atom.css
│ │ │ │ ├── pace-theme-center-circle.css
│ │ │ │ ├── pace-theme-center-radar.css
│ │ │ │ ├── pace-theme-center-simple.css
│ │ │ │ ├── pace-theme-corner-indicator.css
│ │ │ │ ├── pace-theme-fill-left.css
│ │ │ │ ├── pace-theme-flash.css
│ │ │ │ ├── pace-theme-flat-top.css
│ │ │ │ ├── pace-theme-loading-bar.css
│ │ │ │ ├── pace-theme-mac-osx.css
│ │ │ │ └── pace-theme-minimal.css
│ │ │ ├── pace-theme-barber-shop.css
│ │ │ ├── pace-theme-big-counter.css
│ │ │ ├── pace-theme-bounce.css
│ │ │ ├── pace-theme-center-atom.css
│ │ │ ├── pace-theme-center-circle.css
│ │ │ ├── pace-theme-center-radar.css
│ │ │ ├── pace-theme-center-simple.css
│ │ │ ├── pace-theme-corner-indicator.css
│ │ │ ├── pace-theme-fill-left.css
│ │ │ ├── pace-theme-flash.css
│ │ │ ├── pace-theme-flat-top.css
│ │ │ ├── pace-theme-loading-bar.css
│ │ │ ├── pace-theme-mac-osx.css
│ │ │ ├── pace-theme-minimal.css
│ │ │ ├── pink/
│ │ │ │ ├── pace-theme-barber-shop.css
│ │ │ │ ├── pace-theme-big-counter.css
│ │ │ │ ├── pace-theme-bounce.css
│ │ │ │ ├── pace-theme-center-atom.css
│ │ │ │ ├── pace-theme-center-circle.css
│ │ │ │ ├── pace-theme-center-radar.css
│ │ │ │ ├── pace-theme-center-simple.css
│ │ │ │ ├── pace-theme-corner-indicator.css
│ │ │ │ ├── pace-theme-fill-left.css
│ │ │ │ ├── pace-theme-flash.css
│ │ │ │ ├── pace-theme-flat-top.css
│ │ │ │ ├── pace-theme-loading-bar.css
│ │ │ │ ├── pace-theme-mac-osx.css
│ │ │ │ └── pace-theme-minimal.css
│ │ │ ├── purple/
│ │ │ │ ├── pace-theme-barber-shop.css
│ │ │ │ ├── pace-theme-big-counter.css
│ │ │ │ ├── pace-theme-bounce.css
│ │ │ │ ├── pace-theme-center-atom.css
│ │ │ │ ├── pace-theme-center-circle.css
│ │ │ │ ├── pace-theme-center-radar.css
│ │ │ │ ├── pace-theme-center-simple.css
│ │ │ │ ├── pace-theme-corner-indicator.css
│ │ │ │ ├── pace-theme-fill-left.css
│ │ │ │ ├── pace-theme-flash.css
│ │ │ │ ├── pace-theme-flat-top.css
│ │ │ │ ├── pace-theme-loading-bar.css
│ │ │ │ ├── pace-theme-mac-osx.css
│ │ │ │ └── pace-theme-minimal.css
│ │ │ ├── red/
│ │ │ │ ├── pace-theme-barber-shop.css
│ │ │ │ ├── pace-theme-big-counter.css
│ │ │ │ ├── pace-theme-bounce.css
│ │ │ │ ├── pace-theme-center-atom.css
│ │ │ │ ├── pace-theme-center-circle.css
│ │ │ │ ├── pace-theme-center-radar.css
│ │ │ │ ├── pace-theme-center-simple.css
│ │ │ │ ├── pace-theme-corner-indicator.css
│ │ │ │ ├── pace-theme-fill-left.css
│ │ │ │ ├── pace-theme-flash.css
│ │ │ │ ├── pace-theme-flat-top.css
│ │ │ │ ├── pace-theme-loading-bar.css
│ │ │ │ ├── pace-theme-mac-osx.css
│ │ │ │ └── pace-theme-minimal.css
│ │ │ ├── silver/
│ │ │ │ ├── pace-theme-barber-shop.css
│ │ │ │ ├── pace-theme-big-counter.css
│ │ │ │ ├── pace-theme-bounce.css
│ │ │ │ ├── pace-theme-center-atom.css
│ │ │ │ ├── pace-theme-center-circle.css
│ │ │ │ ├── pace-theme-center-radar.css
│ │ │ │ ├── pace-theme-center-simple.css
│ │ │ │ ├── pace-theme-corner-indicator.css
│ │ │ │ ├── pace-theme-fill-left.css
│ │ │ │ ├── pace-theme-flash.css
│ │ │ │ ├── pace-theme-flat-top.css
│ │ │ │ ├── pace-theme-loading-bar.css
│ │ │ │ ├── pace-theme-mac-osx.css
│ │ │ │ └── pace-theme-minimal.css
│ │ │ ├── white/
│ │ │ │ ├── pace-theme-barber-shop.css
│ │ │ │ ├── pace-theme-big-counter.css
│ │ │ │ ├── pace-theme-bounce.css
│ │ │ │ ├── pace-theme-center-atom.css
│ │ │ │ ├── pace-theme-center-circle.css
│ │ │ │ ├── pace-theme-center-radar.css
│ │ │ │ ├── pace-theme-center-simple.css
│ │ │ │ ├── pace-theme-corner-indicator.css
│ │ │ │ ├── pace-theme-fill-left.css
│ │ │ │ ├── pace-theme-flash.css
│ │ │ │ ├── pace-theme-flat-top.css
│ │ │ │ ├── pace-theme-loading-bar.css
│ │ │ │ ├── pace-theme-mac-osx.css
│ │ │ │ └── pace-theme-minimal.css
│ │ │ └── yellow/
│ │ │ ├── pace-theme-barber-shop.css
│ │ │ ├── pace-theme-big-counter.css
│ │ │ ├── pace-theme-bounce.css
│ │ │ ├── pace-theme-center-atom.css
│ │ │ ├── pace-theme-center-circle.css
│ │ │ ├── pace-theme-center-radar.css
│ │ │ ├── pace-theme-center-simple.css
│ │ │ ├── pace-theme-corner-indicator.css
│ │ │ ├── pace-theme-fill-left.css
│ │ │ ├── pace-theme-flash.css
│ │ │ ├── pace-theme-flat-top.css
│ │ │ ├── pace-theme-loading-bar.css
│ │ │ ├── pace-theme-mac-osx.css
│ │ │ └── pace-theme-minimal.css
│ │ └── scrollMonitor/
│ │ ├── MIT-LICENSE.txt
│ │ ├── README.md
│ │ ├── bower.json
│ │ ├── demos/
│ │ │ ├── fixed.html
│ │ │ ├── list.html
│ │ │ ├── listdata.json
│ │ │ ├── scoreboard.html
│ │ │ └── stress.html
│ │ ├── package.json
│ │ └── scrollMonitor.js
│ ├── index.php
│ ├── js/
│ │ └── app.js
│ ├── mix-manifest.json
│ ├── robots.txt
│ └── web.config
├── readme.md
├── resources/
│ ├── js/
│ │ ├── app.js
│ │ ├── bootstrap.js
│ │ └── components/
│ │ ├── Contentone.vue
│ │ └── contentwo.vue
│ ├── lang/
│ │ └── en/
│ │ ├── auth.php
│ │ ├── pagination.php
│ │ ├── passwords.php
│ │ └── validation.php
│ ├── sass/
│ │ ├── _variables.scss
│ │ └── app.scss
│ └── views/
│ ├── auth/
│ │ ├── login.blade.php
│ │ ├── passwords/
│ │ │ ├── email.blade.php
│ │ │ └── reset.blade.php
│ │ └── verify.blade.php
│ ├── customer/
│ │ ├── index.blade.php
│ │ ├── profile/
│ │ │ └── index.blade.php
│ │ └── setting/
│ │ └── index.blade.php
│ ├── emails/
│ │ ├── done.blade.php
│ │ ├── orders.blade.php
│ │ └── register.blade.php
│ ├── errors/
│ │ ├── 404.blade.php
│ │ └── 500.blade.php
│ ├── frontend/
│ │ ├── banner.blade.php
│ │ ├── content.blade.php
│ │ ├── footer.blade.php
│ │ ├── header.blade.php
│ │ ├── index.blade.php
│ │ └── modal.blade.php
│ ├── karyawan/
│ │ ├── customer/
│ │ │ ├── create.blade.php
│ │ │ ├── detail.blade.php
│ │ │ └── index.blade.php
│ │ ├── index.blade.php
│ │ ├── laporan/
│ │ │ ├── cetak.blade.php
│ │ │ ├── excelExport.blade.php
│ │ │ ├── index.blade.php
│ │ │ └── invoice.blade.php
│ │ ├── profile/
│ │ │ └── index.blade.php
│ │ ├── settings/
│ │ │ └── index.blade.php
│ │ └── transaksi/
│ │ ├── addorder.blade.php
│ │ └── order.blade.php
│ ├── layouts/
│ │ ├── auth.blade.php
│ │ ├── backend.blade.php
│ │ ├── error.blade.php
│ │ └── frontend.blade.php
│ └── modul_admin/
│ ├── customer/
│ │ ├── index.blade.php
│ │ ├── infoCustomer.blade.php
│ │ └── jmltransaksi.blade.php
│ ├── doc/
│ │ ├── index.blade.php
│ │ ├── notifikasi.blade.php
│ │ ├── penggunaan.blade.php
│ │ ├── tentang.blade.php
│ │ └── version.blade.php
│ ├── finance/
│ │ └── index.blade.php
│ ├── index.blade.php
│ ├── laundri/
│ │ ├── editharga.blade.php
│ │ └── harga.blade.php
│ ├── pengguna/
│ │ ├── addkry.blade.php
│ │ └── kry.blade.php
│ ├── setting/
│ │ ├── index.blade.php
│ │ ├── modal.blade.php
│ │ └── profile.blade.php
│ └── transaksi/
│ ├── index.blade.php
│ └── invoice.blade.php
├── routes/
│ ├── api.php
│ ├── channels.php
│ ├── console.php
│ └── web.php
├── server.php
├── storage/
│ ├── app/
│ │ └── .gitignore
│ ├── framework/
│ │ ├── .gitignore
│ │ ├── cache/
│ │ │ └── .gitignore
│ │ ├── sessions/
│ │ │ └── .gitignore
│ │ ├── testing/
│ │ │ └── .gitignore
│ │ └── views/
│ │ └── .gitignore
│ └── logs/
│ └── .gitignore
├── stubs/
│ ├── export.model.stub
│ ├── export.plain.stub
│ ├── export.query-model.stub
│ ├── export.query.stub
│ ├── import.collection.stub
│ └── import.model.stub
├── tests/
│ ├── CreatesApplication.php
│ ├── Feature/
│ │ └── ExampleTest.php
│ ├── TestCase.php
│ └── Unit/
│ └── ExampleTest.php
└── webpack.mix.js
================================================
FILE CONTENTS
================================================
================================================
FILE: .circleci/config.yml
================================================
# Use the latest 2.1 version of CircleCI pipeline process engine. See: https://circleci.com/docs/2.0/configuration-reference
version: 2.1
# Use a package of configuration called an orb.
orbs:
# Declare a dependency on the welcome-orb
welcome: circleci/welcome-orb@0.4.1
# Orchestrate or schedule a set of jobs
workflows:
# Name the workflow "welcome"
welcome:
# Run the welcome/run job in its own container
jobs:
- welcome/run
================================================
FILE: .editorconfig
================================================
root = true
[*]
charset = utf-8
end_of_line = lf
insert_final_newline = true
indent_style = space
indent_size = 4
trim_trailing_whitespace = true
[*.md]
trim_trailing_whitespace = false
[*.yml]
indent_size = 2
================================================
FILE: .gitattributes
================================================
* text=auto
*.css linguist-vendored
*.scss linguist-vendored
*.js linguist-vendored
CHANGELOG.md export-ignore
================================================
FILE: .github/FUNDING.yml
================================================
github: [andes2912]
custom: ["https://saweria.co/andes2912"]
================================================
FILE: .github/ISSUE_TEMPLATE/bug_report.md
================================================
---
name: Bug report
about: Create a report to help us improve
title: ''
labels: ''
assignees: ''
---
**Describe the bug**
A clear and concise description of what the bug is.
**To Reproduce**
Steps to reproduce the behavior:
1. Go to '...'
2. Click on '....'
3. Scroll down to '....'
4. See error
**Expected behavior**
A clear and concise description of what you expected to happen.
**Screenshots**
If applicable, add screenshots to help explain your problem.
**Desktop (please complete the following information):**
- OS: [e.g. iOS]
- Browser [e.g. chrome, safari]
- Version [e.g. 22]
**Smartphone (please complete the following information):**
- Device: [e.g. iPhone6]
- OS: [e.g. iOS8.1]
- Browser [e.g. stock browser, safari]
- Version [e.g. 22]
**Additional context**
Add any other context about the problem here.
================================================
FILE: .github/ISSUE_TEMPLATE/feature_request.md
================================================
---
name: Feature request
about: Suggest an idea for this project
title: ''
labels: ''
assignees: ''
---
**Is your feature request related to a problem? Please describe.**
A clear and concise description of what the problem is. Ex. I'm always frustrated when [...]
**Describe the solution you'd like**
A clear and concise description of what you want to happen.
**Describe alternatives you've considered**
A clear and concise description of any alternative solutions or features you've considered.
**Additional context**
Add any other context or screenshots about the feature request here.
================================================
FILE: .gitignore
================================================
/node_modules
/public/hot
/public/storage
/storage/*.key
/vendor
.env
.phpunit.result.cache
Homestead.json
Homestead.yaml
npm-debug.log
yarn-error.log
================================================
FILE: .styleci.yml
================================================
php:
preset: laravel
disabled:
- unused_use
finder:
not-name:
- index.php
- server.php
js:
finder:
not-name:
- webpack.mix.js
css: true
================================================
FILE: CODE_OF_CONDUCT.md
================================================
# Citizen Code of Conduct
## 1. Purpose
A primary goal of Laundry is to be inclusive to the largest number of contributors, with the most varied and diverse backgrounds possible. As such, we are committed to providing a friendly, safe and welcoming environment for all, regardless of gender, sexual orientation, ability, ethnicity, socioeconomic status, and religion (or lack thereof).
This code of conduct outlines our expectations for all those who participate in our community, as well as the consequences for unacceptable behavior.
We invite all those who participate in Laundry to help us create safe and positive experiences for everyone.
## 2. Open [Source/Culture/Tech] Citizenship
A supplemental goal of this Code of Conduct is to increase open [source/culture/tech] citizenship by encouraging participants to recognize and strengthen the relationships between our actions and their effects on our community.
Communities mirror the societies in which they exist and positive action is essential to counteract the many forms of inequality and abuses of power that exist in society.
If you see someone who is making an extra effort to ensure our community is welcoming, friendly, and encourages all participants to contribute to the fullest extent, we want to know.
## 3. Expected Behavior
The following behaviors are expected and requested of all community members:
* Participate in an authentic and active way. In doing so, you contribute to the health and longevity of this community.
* Exercise consideration and respect in your speech and actions.
* Attempt collaboration before conflict.
* Refrain from demeaning, discriminatory, or harassing behavior and speech.
* Be mindful of your surroundings and of your fellow participants. Alert community leaders if you notice a dangerous situation, someone in distress, or violations of this Code of Conduct, even if they seem inconsequential.
* Remember that community event venues may be shared with members of the public; please be respectful to all patrons of these locations.
## 4. Unacceptable Behavior
The following behaviors are considered harassment and are unacceptable within our community:
* Violence, threats of violence or violent language directed against another person.
* Sexist, racist, homophobic, transphobic, ableist or otherwise discriminatory jokes and language.
* Posting or displaying sexually explicit or violent material.
* Posting or threatening to post other people's personally identifying information ("doxing").
* Personal insults, particularly those related to gender, sexual orientation, race, religion, or disability.
* Inappropriate photography or recording.
* Inappropriate physical contact. You should have someone's consent before touching them.
* Unwelcome sexual attention. This includes, sexualized comments or jokes; inappropriate touching, groping, and unwelcomed sexual advances.
* Deliberate intimidation, stalking or following (online or in person).
* Advocating for, or encouraging, any of the above behavior.
* Sustained disruption of community events, including talks and presentations.
## 5. Weapons Policy
No weapons will be allowed at Laundry events, community spaces, or in other spaces covered by the scope of this Code of Conduct. Weapons include but are not limited to guns, explosives (including fireworks), and large knives such as those used for hunting or display, as well as any other item used for the purpose of causing injury or harm to others. Anyone seen in possession of one of these items will be asked to leave immediately, and will only be allowed to return without the weapon. Community members are further expected to comply with all state and local laws on this matter.
## 6. Consequences of Unacceptable Behavior
Unacceptable behavior from any community member, including sponsors and those with decision-making authority, will not be tolerated.
Anyone asked to stop unacceptable behavior is expected to comply immediately.
If a community member engages in unacceptable behavior, the community organizers may take any action they deem appropriate, up to and including a temporary ban or permanent expulsion from the community without warning (and without refund in the case of a paid event).
## 7. Reporting Guidelines
If you are subject to or witness unacceptable behavior, or have any other concerns, please notify a community organizer as soon as possible. andridesmana29@outlook.com.
Additionally, community organizers are available to help community members engage with local law enforcement or to otherwise help those experiencing unacceptable behavior feel safe. In the context of in-person events, organizers will also provide escorts as desired by the person experiencing distress.
## 8. Addressing Grievances
If you feel you have been falsely or unfairly accused of violating this Code of Conduct, you should notify with a concise description of your grievance. Your grievance will be handled in accordance with our existing governing policies.
## 9. Scope
We expect all community participants (contributors, paid or otherwise; sponsors; and other guests) to abide by this Code of Conduct in all community venues--online and in-person--as well as in all one-on-one communications pertaining to community business.
This code of conduct and its related procedures also applies to unacceptable behavior occurring outside the scope of community activities when such behavior has the potential to adversely affect the safety and well-being of community members.
## 10. Contact info
andridesmana29@outlook.com
## 11. License and attribution
The Citizen Code of Conduct is distributed by [Stumptown Syndicate](http://stumptownsyndicate.org) under a [Creative Commons Attribution-ShareAlike license](http://creativecommons.org/licenses/by-sa/3.0/).
Portions of text derived from the [Django Code of Conduct](https://www.djangoproject.com/conduct/) and the [Geek Feminism Anti-Harassment Policy](http://geekfeminism.wikia.com/wiki/Conference_anti-harassment/Policy).
_Revision 2.3. Posted 6 March 2017._
_Revision 2.2. Posted 4 February 2016._
_Revision 2.1. Posted 23 June 2014._
_Revision 2.0, adopted by the [Stumptown Syndicate](http://stumptownsyndicate.org) board on 10 January 2013. Posted 17 March 2013._
================================================
FILE: LICENSE
================================================
MIT License
Copyright (c) 2021 Andri Desmana
Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal
in the Software without restriction, including without limitation the rights
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
copies of the Software, and to permit persons to whom the Software is
furnished to do so, subject to the following conditions:
The above copyright notice and this permission notice shall be included in all
copies or substantial portions of the Software.
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
SOFTWARE.
================================================
FILE: app/Console/Commands/CreateAdminCommand.php
================================================
<?php
namespace App\Console\Commands;
use App\Models\User;
use App\Models\LaundrySetting;
use Illuminate\Console\Command;
use Illuminate\Support\Facades\DB;
use Spatie\Permission\Models\Role;
use App\Models\notifications_setting;
use Illuminate\Support\Facades\Validator;
use Illuminate\Validation\Rules\Password;
class CreateAdminCommand extends Command
{
/**
* The name and signature of the console command.
*
* @var string
*/
protected $signature = 'create:admin';
/**
* The console command description.
*
* @var string
*/
protected $description = 'Buat Pengguna Dengan Role Administrator';
/**
* Execute the console command.
*
* @return int
*/
public function handle()
{
$admin['name'] = $this->ask("Nama untuk Administrator");
$admin['email'] = $this->ask("Email untuk Administrator");
$admin['status'] = 'Active';
$admin['auth'] = 'Admin';
$admin['password'] = $this->secret("Password untuk Administrator");
$admin['password_confirmation'] = $this->secret("Konfirmasi Password untuk Administrator");
$cekUser = User::where('email', $admin['email'])->where('auth','Admin')->first();
if($cekUser) {
$this->error("User Administrator sudah dibuat!");
return -1;
}
$validator = Validator::make($admin,[
'name' => ['required','string','max:255'],
'email' => ['required','string','email','max:255','unique:'.User::class],
'password' => ['required','confirmed',Password::defaults()]
]);
if ($validator->fails()) {
foreach ($validator->errors()->all() as $error) {
$this->error($error);
}
return -1;
}
DB::transaction(function() use($admin, $cekUser){
$role = Role::firstOrNew(['name' => 'Admin']);
$role->name = 'Admin';
$role->save();
$admin['password'] = bcrypt($admin['password']);
$newAdmin = User::create($admin);
$newAdmin->assignRole('Admin');
$getIdAdmin = User::where('auth','Admin')->first();
$setting = new LaundrySetting;
$setting->user_id = $getIdAdmin->id;
$setting->target_day = 0;
$setting->target_month = 0;
$setting->target_year = 0;
$setting->save();
$notif = new notifications_setting;
$notif->user_id = $setting->user_id;
$notif->telegram_order_masuk = 0;
$notif->telegram_order_selesai = 0;
$notif->email = 0;
$notif->save();
});
$this->info("User " .$admin['email']. " Berhasil dibuat :)");
}
}
================================================
FILE: app/Console/Kernel.php
================================================
<?php
namespace App\Console;
use Illuminate\Console\Scheduling\Schedule;
use Illuminate\Foundation\Console\Kernel as ConsoleKernel;
class Kernel extends ConsoleKernel
{
/**
* The Artisan commands provided by your application.
*
* @var array
*/
protected $commands = [
//
];
/**
* Define the application's command schedule.
*
* @param \Illuminate\Console\Scheduling\Schedule $schedule
* @return void
*/
protected function schedule(Schedule $schedule)
{
// $schedule->command('inspire')
// ->hourly();
}
/**
* Register the commands for the application.
*
* @return void
*/
protected function commands()
{
$this->load(__DIR__.'/Commands');
require base_path('routes/console.php');
}
}
================================================
FILE: app/Exceptions/Handler.php
================================================
<?php
namespace App\Exceptions;
use Illuminate\Foundation\Exceptions\Handler as ExceptionHandler;
use Throwable;
class Handler extends ExceptionHandler
{
/**
* A list of the exception types that are not reported.
*
* @var array
*/
protected $dontReport = [
//
];
/**
* A list of the inputs that are never flashed for validation exceptions.
*
* @var array
*/
protected $dontFlash = [
'password',
'password_confirmation',
];
/**
* Report or log an exception.
*
* @param \Throwable $exception
* @return void
*
* @throws \Throwable
*/
public function report(Throwable $exception)
{
parent::report($exception);
}
/**
* Render an exception into an HTTP response.
*
* @param \Illuminate\Http\Request $request
* @param \Throwable $exception
* @return \Symfony\Component\HttpFoundation\Response
*
* @throws \Throwable
*/
public function render($request, Throwable $exception)
{
return parent::render($request, $exception);
}
}
================================================
FILE: app/Exports/LaporanExport.php
================================================
<?php
namespace App\Exports;
use App\Models\transaksi;
use Illuminate\Contracts\View\View;
use Illuminate\Support\Facades\Auth;
use Maatwebsite\Excel\Concerns\FromView;
class LaporanExport implements FromView
{
/**
* @return \Illuminate\Support\Collection
*/
public function view(): View
{
$data = transaksi::where('user_id',Auth::id())->get();
return view(
'karyawan.laporan.excelExport',
[
'data' => $data
]
);
}
}
================================================
FILE: app/Helpers/Model.php
================================================
<?php
use App\Models\{Notification, User,notifications_setting,transaksi};
use PhpParser\Node\Stmt\Return_;
class Rupiah {
public static function getRupiah($value) {
$format = "Rp " . number_format($value,0,',','.');
return $format;
}
}
// Get Email Customer by id
if (! function_exists('email_customer'))
{
function email_customer($id=0)
{
$model = new User;
$data = $model::where('id',$id)->first();
$email_customer = !empty($data) ? $data->email : 'Not Found';
return $email_customer;
}
}
// Get Nama Customer by id
if (! function_exists('namaCustomer'))
{
function namaCustomer($id=0)
{
$model = new User;
$data = $model::where('id',$id)->first();
$name = !empty($data) ? $data->name : 'Not Found';
return $name;
}
}
// Setting Email Notifications
if (! function_exists('setNotificationEmail'))
{
function setNotificationEmail($id='')
{
$model = new notifications_setting;
$data = $model::where('email',$id)->first();
$email = $data ? $data->email : 'Email Notification Aktif Tidak';
return $email;
}
}
// Setting Telegram Order Masuk Notifications
if (! function_exists('setNotificationTelegramIn'))
{
function setNotificationTelegramIn($id='')
{
$model = new notifications_setting;
$data = $model::where('telegram_order_masuk',$id)->first();
$teleIn = $data ? $data->telegram_order_masuk : 'Telegram Notification Order Masuk Tidak Aktif';
return $teleIn;
}
}
// Setting Telegram Order Selesai Notifications
if (! function_exists('setNotificationTelegramFinish'))
{
function setNotificationTelegramFinish($id='')
{
$model = new notifications_setting;
$data = $model::where('telegram_order_selesai',$id)->first();
$teleFininsh = $data ? $data->telegram_order_selesai : 'Telegram Notification Order Selesai Tidak Aktif';
return $teleFininsh;
}
}
// Get Telegram Channel untuk order masuk
if (! function_exists('telegram_channel_masuk'))
{
function telegram_channel_masuk()
{
$model = new notifications_setting;
$data = $model::first();
$channel_masuk = $data ? $data->telegram_channel_masuk : NULL;
return $channel_masuk;
}
}
// Get Telegram Channel untuk order selesai
if (! function_exists('telegram_channel_selesai'))
{
function telegram_channel_selesai()
{
$model = new notifications_setting;
$data = $model::first();
$channel_selesai = $data ? $data->telegram_channel_selesai : NULL;
return $channel_selesai;
}
}
// Setting WhatsApp Notification order selesai
if (! function_exists('setNotificationWhatsappOrderSelesai'))
{
function setNotificationWhatsappOrderSelesai($id='')
{
$model = new notifications_setting;
$data = $model::where('wa_order_selesai',$id)->first();
$whatsappFinish = $data ? $data->wa_order_selesai : 'WhatsApp Notification Order Selesai Tidak Aktif';
return $whatsappFinish;
}
}
// Get WhatsApp Notifikasi order selesai
if (! function_exists('wa_order_selesai'))
{
function wa_order_selesai()
{
$model = new notifications_setting;
$data = $model::first();
$channel_selesai = $data ? $data->wa_order_selesai : NULL;
return $channel_selesai;
}
}
// Get Token WhatsApp
if (! function_exists('getTokenWhatsapp'))
{
function getTokenWhatsapp()
{
$model = new notifications_setting;
$data = $model::first();
$channel_selesai = $data ? $data->wa_token : NULL;
return $channel_selesai;
}
}
// Notifikasi Whatsapp
if (! function_exists('notificationWhatsapp'))
{
function notificationWhatsapp($token,$waphone,$pesan)
{
$apiURL = 'https://api.kirimwa.id/v1/messages';
$client = new \GuzzleHttp\Client();
$response = $client->request('POST', $apiURL, [
'headers'=> [
'Authorization' => 'Bearer ' . $token,
'Content-Type' => 'application/json'
],
'body' => json_encode([
'message' => $pesan,
'phone_number' => $waphone,
'message_type' => 'text',
'device_id' => 'iphone' // isi dengan device_id kalian
]),
]);
$statusCode = $response->getStatusCode();
$responseBody = json_decode($response->getBody(), true);
}
}
// Get Notifikasi
function getNotifikasi($user_id)
{
$model = new Notification;
$data = $model::where('user_id',$user_id)->where('is_read',0)->orderBy('created_at','desc')->get();
return $data;
}
// Send Notif
function sendNotification($id=null, $user_id=null, $kategori=null, $title=null, $body=null)
{
$notif = new Notification;
$notif->transaksi_id = $id ?? null;
$notif->user_id = $user_id ?? null;
$notif->kategori = $kategori;
$notif->title = $title;
$notif->body = $body;
$notif->save();
return $notif;
}
================================================
FILE: app/Http/Controllers/Admin/AdminController.php
================================================
<?php
namespace App\Http\Controllers\Admin;
use App\Http\Controllers\Controller;
use Illuminate\Http\Request;
use App\Models\User;
use Auth;
use Rupiah;
use DB;
use Session;
use Spatie\Permission\Models\Role;
use Carbon\carbon;
class AdminController extends Controller
{
// Halaman admin
public function adm()
{
$adm = User::where('auth','Admin')->get();
return view('modul_admin.pengguna.admin', compact('adm'));
}
// Profile
public function profile()
{
$profile = User::where('id',Auth::id())->first();
return view('modul_admin.setting.profile', compact('profile'));
}
// Proses edit profile
public function edit_profile(Request $request)
{
$profile = User::find($request->id_profile);
$profile->update([
'name' => $request->name,
'email' => $request->email
]);
Session::flash('success','Update Profile Berhasil');
return $profile;
}
}
================================================
FILE: app/Http/Controllers/Admin/CustomerController.php
================================================
<?php
namespace App\Http\Controllers\Admin;
use App\Http\Controllers\Controller;
use Illuminate\Http\Request;
use App\Models\User;
class CustomerController extends Controller
{
public function index()
{
$customer = User::where('auth','Customer')->get();
return view('modul_admin.customer.index', compact('customer'));
}
public function show($id)
{
$customer = User::with('transaksiCustomer')->where('id',$id)->first();
return view('modul_admin.customer.infoCustomer', compact('customer'));
}
}
================================================
FILE: app/Http/Controllers/Admin/DokumentasiController.php
================================================
<?php
namespace App\Http\Controllers\Admin;
use App\Http\Controllers\Controller;
use Illuminate\Http\Request;
class DokumentasiController extends Controller
{
// Dokumentasi
public function index()
{
return view('modul_admin.doc.index');
}
// Tentang Aplikasi Laundry
public function tentang()
{
return view('modul_admin.doc.tentang');
}
// Instalasi & Penggunaan
public function instalasi()
{
return view('modul_admin.doc.penggunaan');
}
// Versi & Pembaruan
public function versi()
{
return view('modul_admin.doc.version');
}
// Notifikasi
public function notifikasi()
{
return view('modul_admin.doc.notifikasi');
}
}
================================================
FILE: app/Http/Controllers/Admin/FinanceController.php
================================================
<?php
namespace App\Http\Controllers\Admin;
use App\Http\Controllers\Controller;
use Illuminate\Http\Request;
use App\Models\{transaksi,customer,LaundrySetting,User,harga,DataBank};
use App\Http\Requests\HargaRequest;
use DB;
use Auth;
use Session;
use Carbon\carbon;
class FinanceController extends Controller
{
// Finance
public function index()
{
$chartMonthSalary = DB::table('transaksis')
->select('bulan', DB::raw('sum(harga_akhir) AS jml'))
->whereYear('created_at','=',date("Y", strtotime(now())))
->whereMonth('created_at','=',date("m", strtotime(now())))
->groupBy('bulan')
->get();
$bulans = '';
$batas = 12;
$chartMonth = '';
for($_i=1; $_i <= $batas; $_i++){
$bulans = $bulans . (string)$_i . ',';
$_check = false;
foreach($chartMonthSalary as $_data){
if((int)@$_data->bulan === $_i){
$chartMonth = $chartMonth . (string)$_data->jml . ',';
$_check = true;
}
}
if(!$_check){
$chartMonth = $chartMonth . '0,';
}
}
$incomeAll = transaksi::where('status_payment','Success')->sum('harga_akhir');
$incomeY = transaksi::where('status_payment','Success')->where('tahun',date('Y'))
->sum('harga_akhir');
$incomeM = transaksi::where('status_payment','Success')->where('tahun',date('Y'))
->where('bulan', ltrim(date('m'),'0'))->sum('harga_akhir');
$incomeYOld = transaksi::where('status_payment','Success')->where('tahun',date("Y",strtotime("-1 year")))
->sum('harga_akhir');
$incomeD = transaksi::where('status_payment','Success')->where('tahun',date('Y'))
->where('bulan', ltrim(date('m'),'0'))->where('tgl',ltrim(date('d'),'0'))->sum('harga_akhir');
$incomeDOld = transaksi::where('status_payment','Success')->where('tahun',date('Y'))
->where('bulan', ltrim(date('m'),'0'))->where('tgl',ltrim(date("d",strtotime("-1 day")),'0'))->sum('harga_akhir');
$kgDay = transaksi::where('tahun',date('Y'))->where('bulan', ltrim(date('m'),'0'))->where('tgl',ltrim(date('d'),'0'))->sum('kg');
$kgMonth = transaksi::where('tahun',date('Y'))->where('bulan', ltrim(date('m'),'0'))->sum('kg');
$kgYear = transaksi::where('tahun',date('Y'))->sum('kg');
$getCabang = User::whereHas('transaksi', function($a) {
$a->where('tahun',date('Y'))
->where('bulan', ltrim(date('m'),'0'));
})
->get();
$target = LaundrySetting::first();
return view('modul_admin.finance.index', \compact(
'chartMonth','incomeY','incomeM','incomeYOld','incomeD','incomeDOld',
'target','incomeAll','getCabang','kgDay','kgMonth','kgYear'
));
}
// Tambah dan Data Harga
public function dataharga()
{
// Ambil data harga
$harga = harga::with('harga_user')->orderBy('id','DESC')->get();
// Cek Apakah sudah ada karyawan atau belum
$karyawan = User::where('auth','Karyawan')->first();
// Ambil list cabang
$getcabang = User::where('auth','Karyawan')->where('status','Active')->get();
// Get Data Bank
$getBank = DataBank::where('user_id',Auth::id())->count();
return view('modul_admin.laundri.harga', compact('harga','karyawan','getcabang','getBank'));
}
// Proses Simpan Harga
public function hargastore(HargaRequest $request)
{
$addharga = new harga();
$addharga->user_id = $request->user_id;
$addharga->jenis = $request->jenis;
$addharga->kg = 1000; // satuan gram
$addharga->harga = preg_replace('/[^A-Za-z0-9\-]/', '', $request->harga); // Remove special caracter
$addharga->hari = $request->hari;
$addharga->status = 1; //aktif
$addharga->save();
Session::flash('success','Tambah Data Harga Berhasil');
return redirect('data-harga');
}
// Proses edit harga
public function hargaedit(Request $request)
{
$editharga = harga::find($request->id_harga);
$editharga->update([
'jenis' => $request->jenis,
'kg' => $request->kg,
'harga' => $request->harga,
'hari' => $request->hari,
'status' => $request->status,
]);
Session::flash('success','Edit Data Harga Berhasil');
return $editharga;
}
}
================================================
FILE: app/Http/Controllers/Admin/KaryawanController.php
================================================
<?php
namespace App\Http\Controllers\Admin;
use App\Http\Requests\AddKaryawanRequest;
use App\Http\Controllers\Controller;
use Illuminate\Http\Request;
use Spatie\Permission\Models\Role;
use Illuminate\Support\Facades\Hash;
use App\Models\User;
use Session;
class KaryawanController extends Controller
{
/**
* Display a listing of the resource.
*
* @return \Illuminate\Http\Response
*/
public function index()
{
$kry = User::where('auth','Karyawan')->get();
return view('modul_admin.pengguna.kry', compact('kry'));
}
/**
* Show the form for creating a new resource.
*
* @return \Illuminate\Http\Response
*/
public function create()
{
return view('modul_admin.pengguna.addkry');
}
/**
* Store a newly created resource in storage.
*
* @param \Illuminate\Http\Request $request
* @return \Illuminate\Http\Response
*/
public function store(AddKaryawanRequest $request)
{
$phone_number = preg_replace('/^0/','62',$request->no_telp);
$adduser = New User();
$adduser->name = $request->name;
$adduser->email = $request->email;
$adduser->nama_cabang = $request->nama_cabang;
$adduser->alamat = $request->alamat;
$adduser->alamat_cabang = $request->alamat_cabang;
$adduser->no_telp = $phone_number;
$adduser->status = 'Active';
$adduser->auth = 'Karyawan';
$adduser->password = Hash::make($request->password);
$adduser->save();
$adduser->assignRole($adduser->auth);
Session::flash('success','Karyawan Berhasil Dibuat.');
return redirect('karyawan');
}
// Update Status Karyawan
public function updateKaryawan(Request $request)
{
$karyawan = User::find($request->id);
$karyawan->update([
'status' => $karyawan->status == 'Active' ? 'Not Active' : 'Active'
]);
Session::flash('success','Status Karyawan Berhasil Diupdate.');
}
}
================================================
FILE: app/Http/Controllers/Admin/SettingsController.php
================================================
<?php
namespace App\Http\Controllers\Admin;
use App\Http\Controllers\Controller;
use Illuminate\Http\Request;
use App\Models\{PageSettings,User,LaundrySetting,DataBank,notifications_setting};
use Auth;
use Session;
class SettingsController extends Controller
{
// Settings
public function setting()
{
$setpage = PageSettings::first();
$settarget = LaundrySetting::first();
$databank = DataBank::where('user_id',Auth::id())->get();
$setnotif = notifications_setting::first();
return view('modul_admin.setting.index', compact('setpage','settarget','databank','setnotif'));
}
// Proses setting page
public function proses_set_page(Request $request, $id)
{
$request->validate([
'judul' => 'required|max:15'
]);
$img_hero = $request->file('img_hero');
if ($img_hero) {
$img_heros = time()."_".$img_hero->getClientoriginalName();
// Folder Penyimpanan
$tujuan_upload = 'frontend/img/logo';
$img_hero->move($tujuan_upload, $img_heros);
}
$setpage = PageSettings::find($id);
$setpage->judul = $request->judul;
$setpage->img_hero = $img_hero;
$setpage->tentang = $request->tentang;
$setpage->facebook = $request->facebook;
$setpage->instagram = $request->instagram;
$setpage->twitter = $request->twitter;
$setpage->whatsapp = $request->whatsapp;
$setpage->no_telp = $request->no_telp;
$setpage->email = $request->email;
$setpage->save();
if ($setpage) {
Session::flash('success','Setting Berhasil Disimpan !');
return back();
}
}
// Check Setting Theme
public function set_theme(Request $request)
{
$id = Auth::id();
$user = User::all();
$set_theme = User::findOrFail($id);
if ($request->theme == NULL) {
$set_theme->theme = '0';
} else {
$set_theme->theme = $request->theme;
}
$set_theme->save();
Session::flash('success','Setting Berhasil Disimpan !');
return back();
}
// Setting Laundry Target
public function set_target_laundry(Request $request, $id)
{
$set_target = LaundrySetting::findOrFail($id);
$set_target->target_day = $request->target_day;
$set_target->target_month = $request->target_month;
$set_target->target_year = $request->target_year;
$set_target->save();
Session::flash('success','Target Berhasil Diupdate !');
return back();
}
// Simpan Bank
public function bank(Request $request)
{
$cek = DataBank::get()->count();
if ($cek >= 3) {
Session::flash('error','Maksimal bank hanya 3 !');
return back();
}
$request->validate([
'nama_bank' => 'required|unique:data_banks',
'no_rekening' => 'required|unique:data_banks',
'no_rekening' => 'required',
]);
DataBank::create([
'nama_bank' => $request->nama_bank,
'no_rekening' => $request->no_rekening,
'nama_pemilik' => $request->nama_pemilik,
'user_id' => Auth::id(),
]);
Session::flash('success','Bank Berhasil Ditambah !');
return back();
}
// Notification
public function notif(Request $request,$id)
{
$notif = notifications_setting::findorFail($id);
$notif->telegram_order_masuk = $request->telegram_order_masuk;
$notif->telegram_order_selesai = $request->telegram_order_selesai;
$notif->email = $request->email;
$notif->telegram_channel_masuk = $request->telegram_channel_masuk;
$notif->telegram_channel_selesai = $request->telegram_channel_masuk;
$notif->wa_order_selesai = $request->wa_order_selesai;
$notif->wa_token = $request->wa_token;
$notif->save();
Session::flash('success','Notifications Berhasil Diupdate !');
return back();
}
}
================================================
FILE: app/Http/Controllers/Admin/TransaksiController.php
================================================
<?php
namespace App\Http\Controllers\Admin;
use App\Http\Controllers\Controller;
use Illuminate\Http\Request;
use App\Models\{transaksi,user};
use Rupiah;
class TransaksiController extends Controller
{
public function index()
{
$transaksi = transaksi::with('price')
->orderBy('created_at','desc')->get();
$filter = User::select('id','name')->where('auth','Karyawan')->get();
return view('modul_admin.transaksi.index', compact('transaksi','filter'));
}
// Filter Transaksi
public function filtertransaksi(Request $request)
{
if ($request->user_id != 'all') {
$transaksi = transaksi::with('price')
->where('user_id', $request->user_id)
->orderBy('created_at','desc')
->get();
}elseif($request->user_id == 'all') {
$transaksi = transaksi::with('price')
->orderBy('created_at','desc')
->get();
}
$return = "";
$no=1;
foreach($transaksi as $item) {
$return .="<tr>
<td>".$no."</td>
<td>".$item->tgl_transaksi."</td>
<td>".$item->customer."</td>
<td>".$item->status_order."</td>
<td>".$item->status_payment."</td>
<td>".$item->price->jenis."</td>";
$return .="
<input type='hidden' value='".$item->kg * $item->harga."'>
<td>".Rupiah::getRupiah($item->kg * $item->harga)."</td>";
$return .="<td><a href='invoice-customer/$item->invoice' class='btn btn-sm btn-success style='color:white'>Invoice</a></td>";
$return .= "</td>
</tr>";
$no++;
}
return $return;
}
// Invoice
public function invoice( Request $request)
{
$invoice = transaksi::with('price')
->where('invoice', $request->invoice)
->orderBy('id','DESC')->get();
$dataInvoice = transaksi::with('customers','user')
->where('invoice', $request->invoice)
->first();
return view('modul_admin.transaksi.invoice', compact('invoice','dataInvoice'));
}
}
================================================
FILE: app/Http/Controllers/Auth/ForgotPasswordController.php
================================================
<?php
namespace App\Http\Controllers\Auth;
use App\Http\Controllers\Controller;
use Illuminate\Foundation\Auth\SendsPasswordResetEmails;
class ForgotPasswordController extends Controller
{
/*
|--------------------------------------------------------------------------
| Password Reset Controller
|--------------------------------------------------------------------------
|
| This controller is responsible for handling password reset emails and
| includes a trait which assists in sending these notifications from
| your application to your users. Feel free to explore this trait.
|
*/
use SendsPasswordResetEmails;
/**
* Create a new controller instance.
*
* @return void
*/
public function __construct()
{
$this->middleware('guest');
}
}
================================================
FILE: app/Http/Controllers/Auth/LoginController.php
================================================
<?php
namespace App\Http\Controllers\Auth;
use App\Http\Controllers\Controller;
use Illuminate\Foundation\Auth\AuthenticatesUsers;
use Auth;
use Session;
class LoginController extends Controller
{
/*
|--------------------------------------------------------------------------
| Login Controller
|--------------------------------------------------------------------------
|
| This controller handles authenticating users for the application and
| redirecting them to your home screen. The controller uses a trait
| to conveniently provide its functionality to your applications.
|
*/
use AuthenticatesUsers;
/**
* Where to redirect users after login.
*
* @var string
*/
protected $redirectTo = '/home';
/**
* Create a new controller instance.
*
* @return void
*/
public function __construct()
{
$this->middleware('guest')->except('logout');
}
protected function authenticated()
{
if(Auth::User()->status == 'Not Active') {
Auth::logout();
Session::flash('error', "Akun yang kamu gunakan sudah Tidak Aktif !");
return redirect('login');
}
}
}
================================================
FILE: app/Http/Controllers/Auth/RegisterController.php
================================================
<?php
namespace App\Http\Controllers\Auth;
use App\User;
use App\Http\Controllers\Controller;
use Illuminate\Support\Facades\Hash;
use Illuminate\Support\Facades\Validator;
use Illuminate\Foundation\Auth\RegistersUsers;
class RegisterController extends Controller
{
/*
|--------------------------------------------------------------------------
| Register Controller
|--------------------------------------------------------------------------
|
| This controller handles the registration of new users as well as their
| validation and creation. By default this controller uses a trait to
| provide this functionality without requiring any additional code.
|
*/
use RegistersUsers;
/**
* Where to redirect users after registration.
*
* @var string
*/
protected $redirectTo = '/home';
/**
* Create a new controller instance.
*
* @return void
*/
public function __construct()
{
$this->middleware('guest');
}
/**
* Get a validator for an incoming registration request.
*
* @param array $data
* @return \Illuminate\Contracts\Validation\Validator
*/
protected function validator(array $data)
{
return Validator::make($data, [
'name' => ['required', 'string', 'max:255'],
'email' => ['required', 'string', 'email', 'max:255', 'unique:users'],
'password' => ['required', 'string', 'min:7', 'confirmed'],
]);
}
/**
* Create a new user instance after a valid registration.
*
* @param array $data
* @return \App\User
*/
protected function create(array $data)
{
return User::create([
'name' => $data['name'],
'email' => $data['email'],
'auth' => $data['auth'],
'status' => $data['status'],
'password' => Hash::make($data['password']),
]);
}
}
================================================
FILE: app/Http/Controllers/Auth/ResetPasswordController.php
================================================
<?php
namespace App\Http\Controllers\Auth;
use App\Http\Controllers\Controller;
use Illuminate\Foundation\Auth\ResetsPasswords;
class ResetPasswordController extends Controller
{
/*
|--------------------------------------------------------------------------
| Password Reset Controller
|--------------------------------------------------------------------------
|
| This controller is responsible for handling password reset requests
| and uses a simple trait to include this behavior. You're free to
| explore this trait and override any methods you wish to tweak.
|
*/
use ResetsPasswords;
/**
* Where to redirect users after resetting their password.
*
* @var string
*/
protected $redirectTo = '/home';
/**
* Create a new controller instance.
*
* @return void
*/
public function __construct()
{
$this->middleware('guest');
}
}
================================================
FILE: app/Http/Controllers/Auth/VerificationController.php
================================================
<?php
namespace App\Http\Controllers\Auth;
use App\Http\Controllers\Controller;
use Illuminate\Foundation\Auth\VerifiesEmails;
class VerificationController extends Controller
{
/*
|--------------------------------------------------------------------------
| Email Verification Controller
|--------------------------------------------------------------------------
|
| This controller is responsible for handling email verification for any
| user that recently registered with the application. Emails may also
| be re-sent if the user didn't receive the original email message.
|
*/
use VerifiesEmails;
/**
* Where to redirect users after verification.
*
* @var string
*/
protected $redirectTo = '/home';
/**
* Create a new controller instance.
*
* @return void
*/
public function __construct()
{
$this->middleware('auth');
$this->middleware('signed')->only('verify');
$this->middleware('throttle:6,1')->only('verify', 'resend');
}
}
================================================
FILE: app/Http/Controllers/Controller.php
================================================
<?php
namespace App\Http\Controllers;
use Illuminate\Foundation\Bus\DispatchesJobs;
use Illuminate\Routing\Controller as BaseController;
use Illuminate\Foundation\Validation\ValidatesRequests;
use Illuminate\Foundation\Auth\Access\AuthorizesRequests;
class Controller extends BaseController
{
use AuthorizesRequests, DispatchesJobs, ValidatesRequests;
}
================================================
FILE: app/Http/Controllers/Customer/ProfileController.php
================================================
<?php
namespace App\Http\Controllers\Customer;
use App\Models\User;
use App\Http\Controllers\Controller;
use Illuminate\Support\Facades\Auth;
use Illuminate\Support\Facades\Hash;
use Illuminate\Support\Facades\Session;
use App\Http\Requests\UpdateProfilRequest;
class ProfileController extends Controller
{
//index
public function index()
{
return view('customer.profile.index');
}
// Update Profile
public function updateProfile(UpdateProfilRequest $request,$id)
{
$foto = $request->file('foto');
if ($foto) {
$nama_foto = time()."_".$foto->getClientOriginalName();
// isi dengan nama folder tempat kemana file diupload
$tujuan_upload = 'public/images/foto_profile';
$foto->storeAs($tujuan_upload,$nama_foto);
}
if ($request->password) {
$password = Hash::make($request->password);
}
$profile = User::findOrFail($id);
$profile->name = $request->name;
$profile->email = $request->email;
$profile->alamat = $request->alamat;
$profile->foto = $nama_foto ?? Auth::user()->foto;
$profile->password = $password ?? Auth::user()->password;
$profile->save();
Session::flash('success','Data profile berhasil diupdate !');
return back();
}
}
================================================
FILE: app/Http/Controllers/Customer/SettingController.php
================================================
<?php
namespace App\Http\Controllers\Customer;
use App\Http\Controllers\Controller;
use Illuminate\Http\Request;
use App\Models\User;
use Session;
class SettingController extends Controller
{
// Setting
public function index()
{
return view('customer.setting.index');
}
// Proses setting
public function settingUpdateCustomer(Request $request, $id)
{
$setting = User::findOrFail($id);
if ($request->theme == NULL) {
$setting->theme = '0';
} else {
$setting->theme = $request->theme;
}
$setting->save();
Session::flash('success','Setting Berhasil Diupdate !');
return back();
}
}
================================================
FILE: app/Http/Controllers/FrontController.php
================================================
<?php
namespace App\Http\Controllers;
use Illuminate\Http\Request;
use App\Models\{transaksi,PageSettings};
class FrontController extends Controller
{
//Index
public function index()
{
$setpage = PageSettings::first();
return view('frontend.index', compact('setpage'));
}
//Search
public function search(Request $request)
{
$search = transaksi::where('invoice', $request->search_status);
if ($search->count() == 0) {
$return = 0;
}else{
$return = $search->first();
}
return $return;
}
}
================================================
FILE: app/Http/Controllers/HomeController.php
================================================
<?php
namespace App\Http\Controllers;
use Illuminate\Http\Request;
use Illuminate\Support\Facades\DB;
use Illuminate\Support\Facades\Auth;
use App\Models\{Notification, transaksi,User};
class HomeController extends Controller
{
/**
* Create a new controller instance.
*
* @return void
*/
public function __construct()
{
$this->middleware('auth');
}
/**
* Show the application dashboard.
*
* @return \Illuminate\Contracts\Support\Renderable
*/
public function index()
{
if(Auth::check()){
if (Auth::user()->auth === "Admin") {
$masuk = transaksi::whereIN('status_order',['Process','Done','Delivery'])->count();
$selesai = transaksi::where('status_order','Done')->count();
$diambil = transaksi::where('status_order','Delivery')->count();
$customer = User::where('auth','Customer')->get();
$sudahbayar = transaksi::where('status_payment','Success')->count();
$belumbayar = transaksi::where('status_payment','Pending')->count();
$incomeY = transaksi::where('status_payment','Success')
->where('tahun',date('Y'))->sum('harga_akhir');
$incomeM = transaksi::where('status_payment','Success')
->where('tahun',date('Y'))->where('bulan', ltrim(date('m'),'0'))->sum('harga_akhir');
$incomeYOld = transaksi::where('status_payment','Success')
->where('tahun',date("Y",strtotime("-1 month")))->sum('harga_akhir');
$incomeD = transaksi::where('status_payment','Success')
->where('tahun',date('Y'))->where('bulan', ltrim(date('m'),'0'))->where('tgl',ltrim(date('d'),'0'))->sum('harga_akhir');
$incomeDOld = transaksi::where('status_payment','Success')->where('tahun',date('Y'))
->where('bulan', ltrim(date('m'),'0'))->where('tgl',ltrim(date("d",strtotime("-1 day")),'0'))->sum('harga_akhir');
$data = DB::table("transaksis")
->select("id" ,DB::raw("(COUNT(*)) as customer"))
->orderBy('created_at')
->groupBy(DB::raw("MONTH(created_at)"))
->count();
// Statistik Harian
$hari = DB::table('transaksis')
-> select('tgl', DB::raw('count(id) AS jml'))
-> whereYear('created_at','=',date("Y", strtotime(now())))
-> whereMonth('created_at','=',date("m", strtotime(now())))
-> groupBy('tgl')
-> get();
$tanggal = '';
$batas = 31;
$nilai = '';
for($_i=1; $_i <= $batas; $_i++){
$tanggal = $tanggal . (string)$_i . ',';
$_check = false;
foreach($hari as $_data){
if((int)@$_data->tgl === $_i){
$nilai = $nilai . (string)$_data->jml . ',';
$_check = true;
}
}
if(!$_check){
$nilai = $nilai . '0,';
}
}
// Statistik Bulanan
$bln = DB::table('transaksis')
-> select('bulan', DB::raw('count(id) AS jml'))
-> whereYear('created_at','=',date("Y", strtotime(now())))
-> whereMonth('created_at','=',date("m", strtotime(now())))
-> groupBy('bulan')
-> get();
$bulans = '';
$batas = 12;
$nilaiB = '';
for($_i=1; $_i <= $batas; $_i++){
$bulans = $bulans . (string)$_i . ',';
$_check = false;
foreach($bln as $_data){
if((int)@$_data->bulan === $_i){
$nilaiB = $nilaiB . (string)$_data->jml . ',';
$_check = true;
}
}
if(!$_check){
$nilaiB = $nilaiB . '0,';
}
}
return view('modul_admin.index')
-> with('data', $data)
-> with('masuk',$masuk)
-> with('selesai',$selesai)
-> with('customer', $customer)
-> with('sudahbayar', $sudahbayar)
-> with('belumbayar', $belumbayar)
-> with('_tanggal', substr($tanggal, 0,-1))
-> with('_nilai', substr($nilai, 0, -1))
-> with('_bulan', substr($bulans, 0,-1))
-> with('_nilaiB', substr($nilaiB, 0, -1))
-> with('diambil',$diambil)
-> with('incomeY',$incomeY)
-> with('incomeM',$incomeM)
-> with('incomeYOld',$incomeYOld)
-> with('incomeD',$incomeD)
-> with('incomeDOld',$incomeDOld);
} elseif(Auth::user()->auth === "Karyawan") {
$masuk = transaksi::whereIN('status_order',['Process','Done','Delivery'])->where('user_id',auth::user()->id)->count();
$selesai = transaksi::where('status_order','Done')->where('user_id',auth::user()->id)->count();
$diambil = transaksi::where('status_order','Delivery')->where('user_id',auth::user()->id)->count();
$customer = User::where('karyawan_id',auth::user()->id)->get();
$kgToday = transaksi::where('user_id',Auth::id())->where('tahun',date('Y'))
->where('bulan', ltrim(date('m'),'0'))->where('tgl',ltrim(date('d'),'0'))->sum('kg');
$kgTodayOld = transaksi::where('user_id',Auth::id())->where('tahun',date('Y'))
->where('bulan', ltrim(date('m'),'0'))->where('tgl',ltrim(date("d",strtotime("-1 day")),'0'))->sum('kg');
$incomeM = transaksi::where('user_id',Auth::id())->where('status_payment','Success')
->where('tahun',date('Y'))->where('bulan', ltrim(date('m'),'0'))->sum('harga_akhir');
$incomeMOld = transaksi::where('user_id',Auth::id())->where('status_payment','Success')
->where('tahun',date('Y'))->where('bulan', ltrim(date('m',strtotime("-1 month")),'0'))->sum('harga_akhir');
$persen = 0;
if ($incomeMOld != null && $incomeM != null) {
$persen = ($incomeM - $incomeMOld) / $incomeM * 100;
}
// Statistik Bulanan
$bln = DB::table('transaksis')
-> select('bulan', DB::raw('count(id) AS jml'))
-> whereYear('created_at','=',date("Y", strtotime(now())))
-> whereMonth('created_at','=',date("m", strtotime(now())))
-> groupBy('bulan')
-> get();
$bulans = '';
$batas = 12;
$nilaiB = '';
for($_i=1; $_i <= $batas; $_i++){
$bulans = $bulans . (string)$_i . ',';
$_check = false;
foreach($bln as $_data){
if((int)@$_data->bulan === $_i){
$nilaiB = $nilaiB . (string)$_data->jml . ',';
$_check = true;
}
}
if(!$_check){
$nilaiB = $nilaiB . '0,';
}
}
return view('karyawan.index')
-> with('diambil', $diambil)
-> with('masuk',$masuk)
-> with('selesai',$selesai)
-> with('customer', $customer)
-> with('kgToday', $kgToday)
-> with('kgTodayOld', $kgTodayOld)
-> with('incomeM',$incomeM)
-> with('incomeMOld',$incomeMOld)
-> with('persen',$persen)
-> with('_bulan', substr($bulans, 0,-1))
-> with('_nilaiB', substr($nilaiB, 0, -1));
}elseif(Auth::user()->auth == 'Customer'){
$totalLaundry = transaksi::where('customer_id',Auth::id())->count();
$totalLaundryKg = transaksi::where('customer_id',Auth::id())->sum('kg');
$transaksi = transaksi::with('price')->where('customer_id',Auth::id())->get();
return view('customer.index',\compact('totalLaundry','totalLaundryKg','transaksi'));
}
}
}
// Read Notifikasi
public function readNotifikasi(Request $request)
{
$notif = Notification::find($request->id);
$notif->update([
'is_read' => 1
]);
return $notif;
}
}
================================================
FILE: app/Http/Controllers/Karyawan/CustomerController.php
================================================
<?php
namespace App\Http\Controllers\Karyawan;
use App\Http\Controllers\Controller;
use ErrorException;
use App\Models\User;
use Illuminate\Http\Request;
use Spatie\Permission\Models\Role;
use App\Http\Requests\AddCustomerRequest;
use Illuminate\Support\Facades\Hash;
use App\Jobs\RegisterCustomerJob;
use Mail;
use Illuminate\Support\Str;
use Illuminate\Support\Facades\Session;
use Illuminate\Support\Facades\DB;
use Illuminate\Support\Facades\Auth;
class CustomerController extends Controller
{
// index
public function index()
{
$customer = User::where('karyawan_id',Auth::user()->id)
->where('auth','Customer')
->orderBy('id','DESC')->get();
return view('karyawan.customer.index', compact('customer'));
}
// Detail Customer
public function detail($id)
{
$customer = User::with('transaksiCustomer')
->where('karyawan_id',Auth::user()->id)
->where('id',$id)->first();
return view('karyawan.customer.detail', compact('customer'));
}
// Create
public function create()
{
return view('karyawan.customer.create');
}
// Store
public function store(AddCustomerRequest $request)
{
try {
DB::beginTransaction();
$phone_number = preg_replace('/^0/','62',$request->no_telp);
$password = str::random(8);
$addCustomer = User::create([
'karyawan_id' => Auth::id(),
'name' => $request->name,
'email' => $request->email,
'auth' => 'Customer',
'status' => 'Active',
'no_telp' => $phone_number,
'alamat' => $request->alamat,
'password' => Hash::make($password)
]);
$addCustomer->assignRole($addCustomer->auth);
if ($addCustomer) {
// Menyiapkan data Email
$data = array(
'name' => $addCustomer->name,
'email' => $addCustomer->email,
'password' => $password,
'url_login' => url('/login'),
'nama_laundry' => Auth::user()->nama_cabang,
'alamat_laundry' => Auth::user()->alamat_cabang,
);
// Kirim email
if (setNotificationEmail(1) == 1) {
dispatch(new RegisterCustomerJob($data));
}
}
DB::commit();
Session::flash('success','Customer Berhasil Ditambah !');
return redirect('customers');
} catch (ErrorException $e) {
DB::rollback();
throw new ErrorException($e->getMessage());
}
}
}
================================================
FILE: app/Http/Controllers/Karyawan/InvoiceController.php
================================================
<?php
namespace App\Http\Controllers\Karyawan;
use App\Http\Controllers\Controller;
use Illuminate\Http\Request;
use App\Models\{transaksi,DataBank};
use Auth;
use PDF;
class InvoiceController extends Controller
{
// Invoice
public function invoicekar(Request $request)
{
$invoice = transaksi::with('price')
->where('user_id',Auth::id())
->where('id',$request->id)
->get();
$data = transaksi::with('customers','user')
->where('user_id',Auth::id())
->where('id',$request->id)
->first();
$bank = DataBank::get();
return view('karyawan.laporan.invoice', compact('invoice','data','bank'));
}
// Cetak invoice
public function cetakinvoice(Request $request)
{
$invoice = transaksi::with('price')
->where('user_id',Auth::id())
->where('id',$request->id)
->get();
$data = transaksi::with('customers','user')
->where('user_id',Auth::id())
->where('id',$request->id)
->first();
$bank = DataBank::get();
$pdf = PDF::loadView('karyawan.laporan.cetak', compact('invoice','data','bank'))->setPaper('a4', 'landscape');
return $pdf->stream();
}
}
================================================
FILE: app/Http/Controllers/Karyawan/LaporanController.php
================================================
<?php
namespace App\Http\Controllers\Karyawan;
use App\Exports\LaporanExport;
use App\Http\Controllers\Controller;
use Illuminate\Http\Request;
use App\Models\{transaksi,customer,harga};
use Illuminate\Support\Facades\Auth;
use Maatwebsite\Excel\Facades\Excel;
class LaporanController extends Controller
{
//Halaman Laporan
public function laporan()
{
$laporan = transaksi::where('user_id', Auth::id())->get();
return view('karyawan.laporan.index', compact('laporan'));
}
// Export Excel
public function exportExcel()
{
return Excel::download(new LaporanExport, 'laporan_laundry.xlsx');
}
}
================================================
FILE: app/Http/Controllers/Karyawan/PelayananController.php
================================================
<?php
namespace App\Http\Controllers\Karyawan;
use carbon\carbon;
use ErrorException;
use Illuminate\Http\Request;
use Illuminate\Support\Facades\DB;
use App\Http\Controllers\Controller;
use Illuminate\Support\Facades\Auth;
use App\Http\Requests\AddOrderRequest;
use Illuminate\Support\Facades\Session;
use App\Models\{transaksi,User,harga,DataBank, Notification};
use App\Jobs\DoneCustomerJob;
use App\Jobs\OrderCustomerJob;
use App\Notifications\{OrderMasuk,OrderSelesai};
class PelayananController extends Controller
{
// Halaman list order masuk
public function index()
{
$order = transaksi::with('price')->where('user_id',Auth::user()->id)
->orderBy('id','DESC')->get();
return view('karyawan.transaksi.order', compact('order'));
}
// Proses simpan order
public function store(AddOrderRequest $request)
{
try {
DB::beginTransaction();
$order = new transaksi();
$order->invoice = $request->invoice;
$order->tgl_transaksi = Carbon::now()->parse($order->tgl_transaksi)->format('d-m-Y');
$order->status_payment = $request->status_payment;
$order->harga_id = $request->harga_id;
$order->customer_id = $request->customer_id;
$order->user_id = Auth::user()->id;
$order->customer = namaCustomer($order->customer_id);
$order->email_customer = email_customer($order->customer_id);
$order->hari = $request->hari;
$order->kg = $request->kg;
$order->harga = $request->harga;
$order->disc = $request->disc;
$hitung = $order->kg * $order->harga;
if ($request->disc != NULL) {
$disc = ($hitung * $order->disc) / 100;
$total = $hitung - $disc;
$order->harga_akhir = $total;
} else {
$order->harga_akhir = $hitung;
}
$order->jenis_pembayaran = $request->jenis_pembayaran;
$order->tgl = Carbon::now()->day;
$order->bulan = Carbon::now()->month;
$order->tahun = Carbon::now()->year;
$order->save();
if ($order) {
// Notification Telegram
if (setNotificationTelegramIn(1) == 1) {
$order->notify(new OrderMasuk());
}
// Notification email
if (setNotificationEmail(1) == 1) {
// Menyiapkan data Email
$bank = DataBank::get();
$jenisPakaian = harga::where('id', $order->harga_id)->first();
$data = array(
'email' => $order->email_customer,
'invoice' => $order->invoice,
'customer' => $order->customer,
'tgl_transaksi' => $order->tgl_transaksi,
'pakaian' => $jenisPakaian->jenis,
'berat' => $order->kg,
'harga' => $order->harga,
'harga_disc' => ($hitung * $order->disc) / 100,
'disc' => $order->disc,
'total' => $order->kg * $order->harga,
'harga_akhir' => $order->harga_akhir,
'laundry_name' => Auth::user()->nama_cabang,
'bank' => $bank
);
// Kirim Email
dispatch(new OrderCustomerJob($data));
}
DB::commit();
Session::flash('success','Order Berhasil Ditambah !');
return redirect('pelayanan');
}
} catch (ErrorException $e) {
DB::rollback();
throw new ErrorException($e->getMessage());
}
}
// Tambah Order
public function addorders()
{
$customer = User::where('karyawan_id',Auth::user()->id)->get();
$jenisPakaian = harga::where('user_id',Auth::id())->where('status','1')->get();
$y = date('Y');
$number = mt_rand(1000, 9999);
// Nomor Form otomatis
$newID = $number. Auth::user()->id .''.$y;
$tgl = date('d-m-Y');
$cek_harga = harga::where('user_id',Auth::user()->id)->where('status',1)->first();
$cek_customer = User::select('id','karyawan_id')->where('karyawan_id',Auth::id())->count();
return view('karyawan.transaksi.addorder', compact('customer','newID','cek_harga','cek_customer','jenisPakaian'));
}
// Filter List Harga
public function listharga(Request $request)
{
$list_harga = harga::select('id','harga')
->where('user_id',Auth::user()->id)
->where('id',$request->id)
->get();
$select = '';
$select .= '
<div class="form-group has-success">
<label for="id" class="control-label">Harga</label>
<select id="harga" class="form-control" name="harga" value="harga">
';
foreach ($list_harga as $studi) {
$select .= '<option value="'.$studi->harga.'">'.'Rp. ' .number_format($studi->harga,0,",",".").'</option>';
}'
</select>
</div>
</div>';
return $select;
}
// Filter List Jumlah Hari
public function listhari(Request $request)
{
$list_jenis = harga::select('id','hari')
->where('user_id',Auth::user()->id)
->where('id',$request->id)
->get();
$select = '';
$select .= '
<div class="form-group has-success">
<label for="id" class="control-label">Pilih Hari</label>
<select id="hari" class="form-control" name="hari" value="hari">
';
foreach ($list_jenis as $hari) {
$select .= '<option value="'.$hari->hari.'">'.$hari->hari.'</option>';
}'
</select>
</div>
</div>';
return $select;
}
// Update Status Laundry
public function updateStatusLaundry(Request $request)
{
$transaksi = transaksi::find($request->id);
if ($transaksi->status_payment == 'Pending') {
$transaksi->update([
'status_payment' => 'Success'
]);
} elseif ($transaksi->status_payment == 'Success') {
if ($transaksi->status_order == 'Process') {
$transaksi->update([
'status_order' => 'Done'
]);
// Tambah point +1
$points = User::where('id',$transaksi->customer_id)->firstOrFail();
$points->point = $points->point + 1;
$points->update();
// Create Notifikasi
$id = $transaksi->id;
$user_id = $transaksi->customer_id;
$title = 'Pakaian Selesai';
$body = 'Pakaian Sudah Selesai dan Sudah Bisa Diambil :)';
$kategori = 'info';
sendNotification($id,$user_id,$kategori,$title,$body);
// Cek email notif
if (setNotificationEmail(1) == 1) {
// Menyiapkan data
$data = array(
'email' => $transaksi->email_customer,
'invoice' => $transaksi->invoice,
'customer' => $transaksi->customer,
'nama_laundry' => Auth::user()->nama_cabang,
'alamat_laundry' => Auth::user()->alamat_cabang,
);
// Kirim Email
dispatch(new DoneCustomerJob($data));
}
// Cek status notif untuk telegram
if (setNotificationTelegramFinish(1) == 1) {
$transaksi->notify(new OrderSelesai());
}
// Notifikasi WhatsApp
if (setNotificationWhatsappOrderSelesai(1) == 1 && getTokenWhatsapp() != null) {
$waCustomer = $transaksi->customers->no_telp; // get nomor whatsapp customer
$nameCustomer = $transaksi->customers->name; // get name customer
notificationWhatsapp(
getTokenWhatsapp(), // Token
$waCustomer, // nomor whatsapp
'Halo Kak '.$nameCustomer.' Laundry kamu sudah selesai dan sudah bisa diambil nih :) ' // pesan
);
}
} elseif ($transaksi->status_order == 'Done') {
$transaksi->update([
'status_order' => 'Delivery'
]);
}
}
if ($transaksi->status_payment == 'Success') {
Session::flash('success', "Status Pembayaran Berhasil Diubah !");
}
if($transaksi->status_order == 'Done' || $transaksi->status_order == 'Delivery') {
Session::flash('success', "Status Laundry Berhasil Diubah !");
}
}
}
================================================
FILE: app/Http/Controllers/Karyawan/ProfileController.php
================================================
<?php
namespace App\Http\Controllers\Karyawan;
use App\Http\Controllers\Controller;
use Illuminate\Http\Request;
use App\Models\User;
use Auth;
use Session;
class ProfileController extends Controller
{
// Profile Karyawan Cabang
public function karyawanProfile($id)
{
$user = User::find($id);
return view('karyawan.profile.index', compact('user'));
}
// Profile Karyawan Cabang - Save
public function karyawanProfileSave(Request $request, $id)
{
$foto = $request->file('foto');
if ($foto) {
$nama_foto = time()."_".$foto->getClientOriginalName();
// isi dengan nama folder tempat kemana file diupload
$tujuan_upload = 'public/images/foto_profile';
$foto->storeAs($tujuan_upload,$nama_foto);
}
if ($request->password) {
$password = Hash::make($request->password);
}
$profile = User::findOrFail($id);
$profile->name = $request->name;
$profile->email = $request->email;
$profile->alamat = $request->alamat;
$profile->nama_cabang = $request->nama_cabang;
$profile->alamat_cabang = $request->alamat_cabang;
$profile->foto = $nama_foto ?? Auth::user()->foto;
$profile->password = $password ?? Auth::user()->password;
$profile->save();
Session::flash('success','Data profile berhasil diupdate !');
return back();
}
}
================================================
FILE: app/Http/Controllers/Karyawan/SettingsController.php
================================================
<?php
namespace App\Http\Controllers\Karyawan;
use App\Http\Controllers\Controller;
use Illuminate\Http\Request;
use App\Models\User;
use Session;
class SettingsController extends Controller
{
//Setting Karyawan
public function setting()
{
return view('karyawan.settings.index');
}
// Proses setting
public function proses_setting_karyawan(Request $request, $id)
{
$setting = User::findOrFail($id);
if ($request->theme == NULL) {
$setting->theme = '0';
} else {
$setting->theme = $request->theme;
}
$setting->save();
Session::flash('success','Setting Berhasil Diupdate !');
return back();
}
}
================================================
FILE: app/Http/Kernel.php
================================================
<?php
namespace App\Http;
use Illuminate\Foundation\Http\Kernel as HttpKernel;
class Kernel extends HttpKernel
{
/**
* The application's global HTTP middleware stack.
*
* These middleware are run during every request to your application.
*
* @var array
*/
protected $middleware = [
\App\Http\Middleware\CheckForMaintenanceMode::class,
\Illuminate\Foundation\Http\Middleware\ValidatePostSize::class,
\App\Http\Middleware\TrimStrings::class,
\Illuminate\Foundation\Http\Middleware\ConvertEmptyStringsToNull::class,
\App\Http\Middleware\TrustProxies::class,
];
/**
* The application's route middleware groups.
*
* @var array
*/
protected $middlewareGroups = [
'web' => [
\App\Http\Middleware\EncryptCookies::class,
\Illuminate\Cookie\Middleware\AddQueuedCookiesToResponse::class,
\Illuminate\Session\Middleware\StartSession::class,
// \Illuminate\Session\Middleware\AuthenticateSession::class,
\Illuminate\View\Middleware\ShareErrorsFromSession::class,
\App\Http\Middleware\VerifyCsrfToken::class,
\Illuminate\Routing\Middleware\SubstituteBindings::class,
],
'api' => [
'throttle:60,1',
'bindings',
],
];
/**
* The application's route middleware.
*
* These middleware may be assigned to groups or used individually.
*
* @var array
*/
protected $routeMiddleware = [
'auth' => \App\Http\Middleware\Authenticate::class,
'auth.basic' => \Illuminate\Auth\Middleware\AuthenticateWithBasicAuth::class,
'bindings' => \Illuminate\Routing\Middleware\SubstituteBindings::class,
'cache.headers' => \Illuminate\Http\Middleware\SetCacheHeaders::class,
'can' => \Illuminate\Auth\Middleware\Authorize::class,
'guest' => \App\Http\Middleware\RedirectIfAuthenticated::class,
'signed' => \Illuminate\Routing\Middleware\ValidateSignature::class,
'throttle' => \Illuminate\Routing\Middleware\ThrottleRequests::class,
'verified' => \Illuminate\Auth\Middleware\EnsureEmailIsVerified::class,
'role' => \Spatie\Permission\Middlewares\RoleMiddleware::class,
'permission' => \Spatie\Permission\Middlewares\PermissionMiddleware::class,
'role_or_permission' => \Spatie\Permission\Middlewares\RoleOrPermissionMiddleware::class,
];
/**
* The priority-sorted list of middleware.
*
* This forces non-global middleware to always be in the given order.
*
* @var array
*/
protected $middlewarePriority = [
\Illuminate\Session\Middleware\StartSession::class,
\Illuminate\View\Middleware\ShareErrorsFromSession::class,
\App\Http\Middleware\Authenticate::class,
\Illuminate\Session\Middleware\AuthenticateSession::class,
\Illuminate\Routing\Middleware\SubstituteBindings::class,
\Illuminate\Auth\Middleware\Authorize::class,
];
}
================================================
FILE: app/Http/Middleware/Authenticate.php
================================================
<?php
namespace App\Http\Middleware;
use Illuminate\Auth\Middleware\Authenticate as Middleware;
class Authenticate extends Middleware
{
/**
* Get the path the user should be redirected to when they are not authenticated.
*
* @param \Illuminate\Http\Request $request
* @return string
*/
protected function redirectTo($request)
{
if (! $request->expectsJson()) {
return route('login');
}
}
}
================================================
FILE: app/Http/Middleware/CheckForMaintenanceMode.php
================================================
<?php
namespace App\Http\Middleware;
use Illuminate\Foundation\Http\Middleware\CheckForMaintenanceMode as Middleware;
class CheckForMaintenanceMode extends Middleware
{
/**
* The URIs that should be reachable while maintenance mode is enabled.
*
* @var array
*/
protected $except = [
//
];
}
================================================
FILE: app/Http/Middleware/EncryptCookies.php
================================================
<?php
namespace App\Http\Middleware;
use Illuminate\Cookie\Middleware\EncryptCookies as Middleware;
class EncryptCookies extends Middleware
{
/**
* The names of the cookies that should not be encrypted.
*
* @var array
*/
protected $except = [
//
];
}
================================================
FILE: app/Http/Middleware/RedirectIfAuthenticated.php
================================================
<?php
namespace App\Http\Middleware;
use Closure;
use Illuminate\Support\Facades\Auth;
class RedirectIfAuthenticated
{
/**
* Handle an incoming request.
*
* @param \Illuminate\Http\Request $request
* @param \Closure $next
* @param string|null $guard
* @return mixed
*/
public function handle($request, Closure $next, $guard = null)
{
if (Auth::guard($guard)->check()) {
return redirect('/home');
}
return $next($request);
}
}
================================================
FILE: app/Http/Middleware/TrimStrings.php
================================================
<?php
namespace App\Http\Middleware;
use Illuminate\Foundation\Http\Middleware\TrimStrings as Middleware;
class TrimStrings extends Middleware
{
/**
* The names of the attributes that should not be trimmed.
*
* @var array
*/
protected $except = [
'password',
'password_confirmation',
];
}
================================================
FILE: app/Http/Middleware/TrustProxies.php
================================================
<?php
namespace App\Http\Middleware;
use Illuminate\Http\Request;
use Illuminate\Http\Middleware\TrustProxies as Middleware;
class TrustProxies extends Middleware
{
/**
* The trusted proxies for this application.
*
* @var array|string
*/
protected $proxies;
/**
* The headers that should be used to detect proxies.
*
* @var int
*/
protected $headers = Request::HEADER_X_FORWARDED_FOR |
Request::HEADER_X_FORWARDED_HOST |
Request::HEADER_X_FORWARDED_PORT |
Request::HEADER_X_FORWARDED_PROTO |
Request::HEADER_X_FORWARDED_AWS_ELB;
}
================================================
FILE: app/Http/Middleware/VerifyCsrfToken.php
================================================
<?php
namespace App\Http\Middleware;
use Illuminate\Foundation\Http\Middleware\VerifyCsrfToken as Middleware;
class VerifyCsrfToken extends Middleware
{
/**
* Indicates whether the XSRF-TOKEN cookie should be set on the response.
*
* @var bool
*/
protected $addHttpCookie = true;
/**
* The URIs that should be excluded from CSRF verification.
*
* @var array
*/
protected $except = [
//
];
}
================================================
FILE: app/Http/Requests/AddCustomerRequest.php
================================================
<?php
namespace App\Http\Requests;
use Illuminate\Foundation\Http\FormRequest;
class AddCustomerRequest extends FormRequest
{
/**
* Determine if the user is authorized to make this request.
*
* @return bool
*/
public function authorize()
{
return true;
}
/**
* Get the validation rules that apply to the request.
*
* @return array
*/
public function rules()
{
return [
'name' => 'required|max:25',
'email' => 'required|unique:users',
'alamat' => 'required',
'no_telp' => 'required|unique:users',
];
}
public function messages()
{
return [
'name.required' => 'Nama tidak boleh kosong.',
'name.unique' => 'Nama sudah digunakan.',
'name.max' => 'Nama tidak boleh lebih dari 50 karakter.',
'email.required' => 'Email tidak boleh kosong.',
'email.unique' => 'Email sudah digunakan.',
'email.max' => 'Email tidak boleh lebih dari 50 karakter.',
'alamat.required' => 'Alamat tidak boleh kosong.',
'alamat.max' => 'Alamat tidak boleh lebih dari 50 karakter.',
'no_telp.required' => 'Nomor Telepon tidak boleh kosong.'
];
}
}
================================================
FILE: app/Http/Requests/AddKaryawanRequest.php
================================================
<?php
namespace App\Http\Requests;
use Illuminate\Foundation\Http\FormRequest;
class AddKaryawanRequest extends FormRequest
{
/**
* Determine if the user is authorized to make this request.
*
* @return bool
*/
public function authorize()
{
return true;
}
/**
* Get the validation rules that apply to the request.
*
* @return array
*/
public function rules()
{
return [
'name' => 'required|unique:users|max:50',
'email' => 'required|unique:users|max:50',
'nama_cabang' => 'required|max:50',
'alamat' => 'required|max:50',
'alamat_cabang' => 'required|unique:users',
'no_telp' => 'required',
'password' => 'required|string|min:8|confirmed',
'password_confirmation' => 'required|string|min:8'
];
}
public function messages()
{
return [
'name.required' => 'Nama tidak boleh kosong.',
'name.unique' => 'Nama sudah digunakan.',
'name.max' => 'Nama tidak boleh lebih dari 50 karakter.',
'email.required' => 'Email tidak boleh kosong.',
'email.unique' => 'Email sudah digunakan.',
'email.max' => 'Email tidak boleh lebih dari 50 karakter.',
'nama_cabang.required' => 'Nama Cabang tidak boleh kosong.',
'nama_cabang.max' => 'Nama Cabang tidak boleh lebih dari 30 karakter.',
'alamat_cabang.required' => 'Alamat Cabang tidak boleh ksosong.',
'alamt_cabang.unique' => 'Alamat Cabang sudah digunakan',
'alamat.required' => 'Alamat tidak boleh kosong.',
'alamat.max' => 'Alamat tidak boleh lebih dari 50 karakter.',
'no_telp.required' => 'Nomor Telepon tidak boleh kosong.',
'password.required' => 'Password tidak boleh kosong.',
'password.min' => 'Password harus lebih dari 8 karakter.',
'password.confirmed' => 'Password tidak sama, mohon ulangi kembali.',
'password_confirmation.required'=> 'Password Konfirmasi tidak boleh kosong.',
'password_confirmation.min' => 'Password Konfirmasi harus lebih dari 8 karakter.'
];
}
}
================================================
FILE: app/Http/Requests/AddOrderRequest.php
================================================
<?php
namespace App\Http\Requests;
use Illuminate\Foundation\Http\FormRequest;
class AddOrderRequest extends FormRequest
{
/**
* Determine if the user is authorized to make this request.
*
* @return bool
*/
public function authorize()
{
return true;
}
/**
* Get the validation rules that apply to the request.
*
* @return array
*/
public function rules()
{
return [
'status_payment' => 'required',
'kg' => 'required|regex:/^[0-9.]+$/|numeric',
'hari' => 'required',
'harga' => 'required',
'jenis_pembayaran' => 'required',
'disc' => 'nullable|numeric',
'harga_id' => 'required',
'customer_id' => 'required'
];
}
public function messages()
{
return [
'status_payment.required' => 'Status Pembayaran wajib dipilih.',
'kg.required' => 'Berat Pakaian tidak boleh kosong.',
'kg.numeric' => 'Berat Pakaian hanya mendukung angka.',
'hari.required' => 'Hari tidak boleh kosong.',
'harga.required' => 'Harga tidak boleh kosong.',
'jenis_pembayaran.required' => 'Jenis Pembayaran wajib dipilih.',
'disc.numeric' => 'Diskon hanya mendukung angka.',
'harga_id.required' => 'Jenis Pakaian wajib dipilih.',
'customer_id.required' => 'Customer wajib dipilih.'
];
}
}
================================================
FILE: app/Http/Requests/HargaRequest.php
================================================
<?php
namespace App\Http\Requests;
use Illuminate\Foundation\Http\FormRequest;
class HargaRequest extends FormRequest
{
/**
* Determine if the user is authorized to make this request.
*
* @return bool
*/
public function authorize()
{
return true;
}
/**
* Get the validation rules that apply to the request.
*
* @return array
*/
public function rules()
{
return [
'user_id' => 'required',
'jenis' => 'required',
'harga' => 'required',
'hari' => 'required'
];
}
public function messages()
{
return [
'user_id.required' => 'Cabang tidak boleh kosong.',
'jenis.required' => 'Jenis pakaian tidak boleh kosong.',
'harga.required' => 'Harga tidak boleh kosong.',
'hari.required' => 'Jumlah hari tidak boleh kosong.'
];
}
}
================================================
FILE: app/Http/Requests/LoginRequest.php
================================================
<?php
namespace App\Http\Requests;
use Illuminate\Foundation\Http\FormRequest;
class LoginRequest extends FormRequest
{
/**
* Determine if the user is authorized to make this request.
*
* @return bool
*/
public function authorize()
{
return true;
}
/**
* Get the validation rules that apply to the request.
*
* @return array
*/
public function rules()
{
return [
'email' => 'required|email|exists:users,email',
'password' => 'required'
];
}
public function messages()
{
return [
'email.required' => "Email tidak boleh kosong",
"email.email" => "Format email tidak diketahui",
"email.exists" => "Email tidak terdaftar pada sistem",
"password.required" => "Password tidak boleh kosong",
];
}
}
================================================
FILE: app/Http/Requests/UpdateProfilRequest.php
================================================
<?php
namespace App\Http\Requests;
use Illuminate\Foundation\Http\FormRequest;
class UpdateProfilRequest extends FormRequest
{
/**
* Determine if the user is authorized to make this request.
*
* @return bool
*/
public function authorize()
{
return true;
}
/**
* Get the validation rules that apply to the request.
*
* @return array
*/
public function rules()
{
return [
'name' => 'required',
'email' => 'required',
'no_telp' => 'required',
'alamat' => 'required',
'password' => 'confirmed|min:8|nullable'
];
}
public function messages()
{
return [
'name.required' => 'Nama tidak boleh kosong.',
'email.required' => 'Email tidak boleh kosong.',
'no_telp.required' => 'No WhatsApp tidak boleh kosong.',
'alamat.required' => 'Alamat tidak boleh kosong.',
'password.min' => 'Password minimal berjumlah 8 karakter.',
'password.confirmed' => 'Password Konfirmasi tidak sama.'
];
}
}
================================================
FILE: app/Jobs/DoneCustomerJob.php
================================================
<?php
namespace App\Jobs;
use Illuminate\Bus\Queueable;
use Illuminate\Contracts\Queue\ShouldBeUnique;
use Illuminate\Contracts\Queue\ShouldQueue;
use Illuminate\Foundation\Bus\Dispatchable;
use Illuminate\Queue\InteractsWithQueue;
use Illuminate\Queue\SerializesModels;
use App\Mail\DoneCustomer;
use Mail;
class DoneCustomerJob implements ShouldQueue
{
use Dispatchable, InteractsWithQueue, Queueable, SerializesModels;
protected $data;
/**
* Create a new job instance.
*
* @return void
*/
public function __construct($data)
{
$this->data = $data;
}
/**
* Execute the job.
*
* @return void
*/
public function handle()
{
$email = new DoneCustomer($this->data);
Mail::to($this->data['email'])->send($email);
}
}
================================================
FILE: app/Jobs/OrderCustomerJob.php
================================================
<?php
namespace App\Jobs;
use Illuminate\Bus\Queueable;
use Illuminate\Contracts\Queue\ShouldBeUnique;
use Illuminate\Contracts\Queue\ShouldQueue;
use Illuminate\Foundation\Bus\Dispatchable;
use Illuminate\Queue\InteractsWithQueue;
use Illuminate\Queue\SerializesModels;
use App\Mail\OrderCustomer;
use Mail;
class OrderCustomerJob implements ShouldQueue
{
use Dispatchable, InteractsWithQueue, Queueable, SerializesModels;
protected $data;
/**
* Create a new job instance.
*
* @return void
*/
public function __construct($data)
{
$this->data = $data;
}
/**
* Execute the job.
*
* @return void
*/
public function handle()
{
$email = new OrderCustomer($this->data);
Mail::to($this->data['email'])->send($email);
}
}
================================================
FILE: app/Jobs/RegisterCustomerJob.php
================================================
<?php
namespace App\Jobs;
use Illuminate\Bus\Queueable;
use Illuminate\Contracts\Queue\ShouldBeUnique;
use Illuminate\Contracts\Queue\ShouldQueue;
use Illuminate\Foundation\Bus\Dispatchable;
use Illuminate\Queue\InteractsWithQueue;
use Illuminate\Queue\SerializesModels;
use App\Mail\RegisterCustomer;
use Mail;
class RegisterCustomerJob implements ShouldQueue
{
use Dispatchable, InteractsWithQueue, Queueable, SerializesModels;
protected $data;
/**
* Create a new job instance.
*
* @return void
*/
public function __construct($data)
{
$this->data = $data;
}
/**
* Execute the job.
*
* @return void
*/
public function handle()
{
$email = new RegisterCustomer($this->data);
Mail::to($this->data['email'])->send($email);
}
}
================================================
FILE: app/Mail/DoneCustomer.php
================================================
<?php
namespace App\Mail;
use Illuminate\Bus\Queueable;
use Illuminate\Contracts\Queue\ShouldQueue;
use Illuminate\Mail\Mailable;
use Illuminate\Queue\SerializesModels;
class DoneCustomer extends Mailable
{
use Queueable, SerializesModels;
protected $data;
/**
* Create a new message instance.
*
* @return void
*/
public function __construct($data)
{
$this->data = $data;
}
/**
* Build the message.
*
* @return $this
*/
public function build()
{
$address = config("mail.from.address");
$name = 'E-Laundry';
return $this->view('emails.done')
->subject('Laundry Selesai')
->with('data', $this->data)
->from($address, $name);
return $this;
}
}
================================================
FILE: app/Mail/OrderCustomer.php
================================================
<?php
namespace App\Mail;
use Illuminate\Bus\Queueable;
use Illuminate\Contracts\Queue\ShouldQueue;
use Illuminate\Mail\Mailable;
use Illuminate\Queue\SerializesModels;
class OrderCustomer extends Mailable
{
use Queueable, SerializesModels;
protected $data;
/**
* Create a new message instance.
*
* @return void
*/
public function __construct($data)
{
$this->data = $data;
}
/**
* Build the message.
*
* @return $this
*/
public function build()
{
$address = config("mail.from.address");
$name = 'E-Laundry';
return $this->view('emails.orders')
->subject('Laundry Order')
->with('data', $this->data)
->from($address, $name);
return $this;
}
}
================================================
FILE: app/Mail/RegisterCustomer.php
================================================
<?php
namespace App\Mail;
use Illuminate\Bus\Queueable;
use Illuminate\Contracts\Queue\ShouldQueue;
use Illuminate\Mail\Mailable;
use Illuminate\Queue\SerializesModels;
class RegisterCustomer extends Mailable
{
use Queueable, SerializesModels;
protected $data;
/**
* Create a new message instance.
*
* @return void
*/
public function __construct($data)
{
$this->data = $data;
}
/**
* Build the message.
*
* @return $this
*/
public function build()
{
$address = config("mail.from.address");
$name = 'E-Laundry';
return $this->view('emails.register')
->subject('Laundry Registrasi')
->with('data', $this->data)
->from($address, $name);
return $this;
}
}
================================================
FILE: app/Models/Bank.php
================================================
<?php
/*
* This file is part of the IndoBank package.
*
* (c) Andri Desmana <andridesmana.pw | andridesmana29@gmail.com>
*
*/
namespace App\Models;
use Illuminate\Database\Eloquent\Model;
/**
* Bank Model.
*/
class Bank extends Model
{
/**
* Table name.
*
* @var string
*/
protected $table = 'banks';
}
================================================
FILE: app/Models/DataBank.php
================================================
<?php
namespace App\Models;
use Illuminate\Database\Eloquent\Factories\HasFactory;
use Illuminate\Database\Eloquent\Model;
class DataBank extends Model
{
use HasFactory;
protected $fillable = [
'user_id','nama_bank','no_rekening','nama_pemilik'
];
public function User()
{
return $this->belongsTo(User::class);
}
}
================================================
FILE: app/Models/LaundrySetting.php
================================================
<?php
namespace App\Models;
use Illuminate\Database\Eloquent\Factories\HasFactory;
use Illuminate\Database\Eloquent\Model;
class LaundrySetting extends Model
{
use HasFactory;
protected $fillable = [
'user_id','target_day','target_month','target_year'
];
}
================================================
FILE: app/Models/Notification.php
================================================
<?php
namespace App\Models;
use Illuminate\Database\Eloquent\Factories\HasFactory;
use Illuminate\Database\Eloquent\Model;
class Notification extends Model
{
use HasFactory;
protected $guarded = '';
}
================================================
FILE: app/Models/PageSettings.php
================================================
<?php
namespace App\Models;
use Illuminate\Database\Eloquent\Factories\HasFactory;
use Illuminate\Database\Eloquent\Model;
class PageSettings extends Model
{
use HasFactory;
protected $fillable = [
'judul',
'img_hero',
'tentang',
'facebook',
'instagram',
'twitter',
'whatsapp',
'no_telp',
'email'
];
}
================================================
FILE: app/Models/User.php
================================================
<?php
namespace App\Models;
use Illuminate\Notifications\Notifiable;
use Illuminate\Contracts\Auth\MustVerifyEmail;
use Illuminate\Foundation\Auth\User as Authenticatable;
use Spatie\Permission\Traits\HasRoles;
class User extends Authenticatable
{
use Notifiable, HasRoles;
/**
* The attributes that are mass assignable.
*
* @var array
*/
protected $fillable = [
'karyawan_id','name', 'email', 'password','status','auth','nama_cabang','alamat_cabang','alamat','no_telp','theme','foto','point'
];
/**
* The attributes that should be hidden for arrays.
*
* @var array
*/
protected $hidden = [
'password', 'remember_token',
];
/**
* The attributes that should be cast to native types.
*
* @var array
*/
protected $casts = [
'email_verified_at' => 'datetime',
];
function bank()
{
return $this->hasOne(DataBank::class);
}
public function transaksi()
{
return $this->belongsTo(transaksi::class,'id','user_id');
}
public function transaksiCustomer()
{
return $this->hasMany(transaksi::class,'customer_id','id');
}
}
================================================
FILE: app/Models/harga.php
================================================
<?php
namespace App\Models;
use Illuminate\Database\Eloquent\Model;
class harga extends Model
{
protected $fillable = [
'user_id','jenis','kg','harga','status','harga','hari'
];
public function transaksi()
{
return $this->hasMany(transaksi::class);
}
public function harga_user()
{
return $this->belongsTo(User::class,'user_id','id');
}
}
================================================
FILE: app/Models/notifications_setting.php
================================================
<?php
namespace App\Models;
use Illuminate\Database\Eloquent\Factories\HasFactory;
use Illuminate\Database\Eloquent\Model;
class notifications_setting extends Model
{
use HasFactory;
protected $fillable = [
'telegram_order_masuk','telegram_order_selesai','email','wa_order_selesai','wa_token'
];
}
================================================
FILE: app/Models/transaksi.php
================================================
<?php
namespace App\Models;
use Illuminate\Database\Eloquent\Model;
use Illuminate\Notifications\Notifiable;
class transaksi extends Model
{
use Notifiable;
protected $fillable = [
'customer_id','user_id','tgl_transaksi','customer','status_order','status_payment','harga_id','kg','hari','harga','tgl','tgl_ambil','invoice','disc','bulan','tahun','harga_akhir','email_customer','jenis_pembayaran'
];
public function price()
{
return $this->belongsTo(harga::class,'harga_id','id');
}
public function customers()
{
return $this->belongsTo(User::class,'customer_id','id')->where('auth','Customer');
}
public function user()
{
return $this->belongsTo(User::class,'user_id','id');
}
}
================================================
FILE: app/Notifications/OrderMasuk.php
================================================
<?php
namespace App\Notifications;
use Illuminate\Bus\Queueable;
use Illuminate\Contracts\Queue\ShouldQueue;
use Illuminate\Notifications\Messages\MailMessage;
use Illuminate\Notifications\Notification;
use NotificationChannels\Telegram\TelegramChannel;
use NotificationChannels\Telegram\TelegramMessage;
class OrderMasuk extends Notification
{
use Queueable;
/**
* Create a new notification instance.
*
* @return void
*/
public function __construct()
{
//
}
/**
* Get the notification's delivery channels.
*
* @param mixed $notifiable
* @return array
*/
public function via($notifiable)
{
return [TelegramChannel::class];
}
/**
* Get the mail representation of the notification.
*
* @param mixed $notifiable
* @return \Illuminate\Notifications\Messages\MailMessage
*/
public function toMail($notifiable)
{
return (new MailMessage)
->line('The introduction to the notification.')
->action('Notification Action', url('/'))
->line('Thank you for using our application!');
}
public function toTelegram($order)
{
$url = url('/invoice-kar/' .$order->id);
return TelegramMessage::create()
->to(telegram_channel_masuk())
->content("*Order Masuk*\nCustomer {$order->customer} \nBerat Pakaian {$order->kg}kg \nTotal Pembayaran Rp. ".number_format($order->harga_akhir)."")
->button('View Order', $url);
}
/**
* Get the array representation of the notification.
*
* @param mixed $notifiable
* @return array
*/
public function toArray($notifiable)
{
return [
//
];
}
}
================================================
FILE: app/Notifications/OrderSelesai.php
================================================
<?php
namespace App\Notifications;
use Illuminate\Bus\Queueable;
use Illuminate\Contracts\Queue\ShouldQueue;
use Illuminate\Notifications\Messages\MailMessage;
use Illuminate\Notifications\Notification;
use NotificationChannels\Telegram\TelegramChannel;
use NotificationChannels\Telegram\TelegramMessage;
class OrderSelesai extends Notification
{
use Queueable;
/**
* Create a new notification instance.
*
* @return void
*/
public function __construct()
{
//
}
/**
* Get the notification's delivery channels.
*
* @param mixed $notifiable
* @return array
*/
public function via($notifiable)
{
return [TelegramChannel::class];
}
/**
* Get the mail representation of the notification.
*
* @param mixed $notifiable
* @return \Illuminate\Notifications\Messages\MailMessage
*/
public function toMail($notifiable)
{
return (new MailMessage)
->line('The introduction to the notification.')
->action('Notification Action', url('/'))
->line('Thank you for using our application!');
}
public function toTelegram($statusorder)
{
return TelegramMessage::create()
->to(telegram_channel_selesai())
->content("*Order Selesai* \nCustomer {$statusorder->customer}\nBerat Pakaian {$statusorder->kg}kg \nTotal Pembayaran Rp. ".number_format($statusorder->harga_akhir)."");
}
/**
* Get the array representation of the notification.
*
* @param mixed $notifiable
* @return array
*/
public function toArray($notifiable)
{
return [
//
];
}
}
================================================
FILE: app/Providers/AppServiceProvider.php
================================================
<?php
namespace App\Providers;
use Illuminate\Support\ServiceProvider;
use Illuminate\Support\Facades\Schema;
class AppServiceProvider extends ServiceProvider
{
/**
* Register any application services.
*
* @return void
*/
public function register()
{
//
}
/**
* Bootstrap any application services.
*
* @return void
*/
public function boot()
{
Schema::defaultStringLength(191);
}
}
================================================
FILE: app/Providers/AuthServiceProvider.php
================================================
<?php
namespace App\Providers;
use Illuminate\Support\Facades\Gate;
use Illuminate\Foundation\Support\Providers\AuthServiceProvider as ServiceProvider;
class AuthServiceProvider extends ServiceProvider
{
/**
* The policy mappings for the application.
*
* @var array
*/
protected $policies = [
// 'App\Model' => 'App\Policies\ModelPolicy',
];
/**
* Register any authentication / authorization services.
*
* @return void
*/
public function boot()
{
$this->registerPolicies();
//
}
}
================================================
FILE: app/Providers/BroadcastServiceProvider.php
================================================
<?php
namespace App\Providers;
use Illuminate\Support\ServiceProvider;
use Illuminate\Support\Facades\Broadcast;
class BroadcastServiceProvider extends ServiceProvider
{
/**
* Bootstrap any application services.
*
* @return void
*/
public function boot()
{
Broadcast::routes();
require base_path('routes/channels.php');
}
}
================================================
FILE: app/Providers/EventServiceProvider.php
================================================
<?php
namespace App\Providers;
use Illuminate\Support\Facades\Event;
use Illuminate\Auth\Events\Registered;
use Illuminate\Auth\Listeners\SendEmailVerificationNotification;
use Illuminate\Foundation\Support\Providers\EventServiceProvider as ServiceProvider;
class EventServiceProvider extends ServiceProvider
{
/**
* The event listener mappings for the application.
*
* @var array
*/
protected $listen = [
Registered::class => [
SendEmailVerificationNotification::class,
],
];
/**
* Register any events for your application.
*
* @return void
*/
public function boot()
{
parent::boot();
//
}
}
================================================
FILE: app/Providers/RouteServiceProvider.php
================================================
<?php
namespace App\Providers;
use Illuminate\Support\Facades\Route;
use Illuminate\Foundation\Support\Providers\RouteServiceProvider as ServiceProvider;
class RouteServiceProvider extends ServiceProvider
{
/**
* This namespace is applied to your controller routes.
*
* In addition, it is set as the URL generator's root namespace.
*
* @var string
*/
protected $namespace = 'App\Http\Controllers';
/**
* Define your route model bindings, pattern filters, etc.
*
* @return void
*/
public function boot()
{
//
parent::boot();
}
/**
* Define the routes for the application.
*
* @return void
*/
public function map()
{
$this->mapApiRoutes();
$this->mapWebRoutes();
//
}
/**
* Define the "web" routes for the application.
*
* These routes all receive session state, CSRF protection, etc.
*
* @return void
*/
protected function mapWebRoutes()
{
Route::middleware('web')
->namespace($this->namespace)
->group(base_path('routes/web.php'));
}
/**
* Define the "api" routes for the application.
*
* These routes are typically stateless.
*
* @return void
*/
protected function mapApiRoutes()
{
Route::prefix('api')
->middleware('api')
->namespace($this->namespace)
->group(base_path('routes/api.php'));
}
}
================================================
FILE: artisan
================================================
#!/usr/bin/env php
<?php
define('LARAVEL_START', microtime(true));
/*
|--------------------------------------------------------------------------
| Register The Auto Loader
|--------------------------------------------------------------------------
|
| Composer provides a convenient, automatically generated class loader
| for our application. We just need to utilize it! We'll require it
| into the script here so that we do not have to worry about the
| loading of any our classes "manually". Feels great to relax.
|
*/
require __DIR__.'/vendor/autoload.php';
$app = require_once __DIR__.'/bootstrap/app.php';
/*
|--------------------------------------------------------------------------
| Run The Artisan Application
|--------------------------------------------------------------------------
|
| When we run the console application, the current CLI command will be
| executed in this console and the response sent back to a terminal
| or another output device for the developers. Here goes nothing!
|
*/
$kernel = $app->make(Illuminate\Contracts\Console\Kernel::class);
$status = $kernel->handle(
$input = new Symfony\Component\Console\Input\ArgvInput,
new Symfony\Component\Console\Output\ConsoleOutput
);
/*
|--------------------------------------------------------------------------
| Shutdown The Application
|--------------------------------------------------------------------------
|
| Once Artisan has finished running, we will fire off the shutdown events
| so that any final work may be done by the application before we shut
| down the process. This is the last thing to happen to the request.
|
*/
$kernel->terminate($input, $status);
exit($status);
================================================
FILE: bootstrap/app.php
================================================
<?php
/*
|--------------------------------------------------------------------------
| Create The Application
|--------------------------------------------------------------------------
|
| The first thing we will do is create a new Laravel application instance
| which serves as the "glue" for all the components of Laravel, and is
| the IoC container for the system binding all of the various parts.
|
*/
$app = new Illuminate\Foundation\Application(
$_ENV['APP_BASE_PATH'] ?? dirname(__DIR__)
);
/*
|--------------------------------------------------------------------------
| Bind Important Interfaces
|--------------------------------------------------------------------------
|
| Next, we need to bind some important interfaces into the container so
| we will be able to resolve them when needed. The kernels serve the
| incoming requests to this application from both the web and CLI.
|
*/
$app->singleton(
Illuminate\Contracts\Http\Kernel::class,
App\Http\Kernel::class
);
$app->singleton(
Illuminate\Contracts\Console\Kernel::class,
App\Console\Kernel::class
);
$app->singleton(
Illuminate\Contracts\Debug\ExceptionHandler::class,
App\Exceptions\Handler::class
);
/*
|--------------------------------------------------------------------------
| Return The Application
|--------------------------------------------------------------------------
|
| This script returns the application instance. The instance is given to
| the calling script so we can separate the building of the instances
| from the actual running of the application and sending responses.
|
*/
return $app;
================================================
FILE: bootstrap/cache/.gitignore
================================================
*
!.gitignore
================================================
FILE: composer.json
================================================
{
"name": "laravel/laravel",
"type": "project",
"description": "The Laravel Framework.",
"keywords": [
"framework",
"laravel"
],
"license": "MIT",
"require": {
"php": "^8.0.21",
"andes2912/indobank": "^0.7.0",
"barryvdh/laravel-dompdf": "^2.0.0",
"guzzlehttp/guzzle": "^7.4",
"laravel-notification-channels/telegram": "^2.1",
"laravel/framework": "^9.0",
"laravel/tinker": "^2.6.3",
"laravel/ui": "^3.0",
"laravelcollective/html": "^6.2",
"maatwebsite/excel": "^3.1",
"realrashid/sweet-alert": "^5.1.0",
"spatie/laravel-permission": "^5.5.5"
},
"require-dev": {
"beyondcode/laravel-dump-server": "^1.8.0",
"filp/whoops": "^2.0",
"fzaninotto/faker": "^1.4",
"mockery/mockery": "^1.0",
"nunomaduro/collision": "^6.1",
"phpunit/phpunit": "^9.0"
},
"config": {
"optimize-autoloader": true,
"preferred-install": "dist",
"sort-packages": true
},
"extra": {
"laravel": {
"dont-discover": []
}
},
"autoload": {
"psr-4": {
"App\\": "app/",
"Database\\Factories\\": "database/factories/",
"Database\\Seeders\\": "database/seeders/"
},
"files": [
"app/Helpers/Model.php"
],
"classmap": [
"database/seeders",
"database/factories"
]
},
"autoload-dev": {
"psr-4": {
"Tests\\": "tests/"
}
},
"minimum-stability": "dev",
"prefer-stable": true,
"scripts": {
"post-autoload-dump": [
"Illuminate\\Foundation\\ComposerScripts::postAutoloadDump",
"@php artisan package:discover --ansi"
],
"post-root-package-install": [
"@php -r \"file_exists('.env') || copy('.env.example', '.env');\""
],
"post-create-project-cmd": [
"@php artisan key:generate --ansi"
]
}
}
================================================
FILE: config/app.php
================================================
<?php
return [
/*
|--------------------------------------------------------------------------
| Application Name
|--------------------------------------------------------------------------
|
| This value is the name of your application. This value is used when the
| framework needs to place the application's name in a notification or
| any other location as required by the application or its packages.
|
*/
'name' => env('APP_NAME', 'Laravel'),
/*
|--------------------------------------------------------------------------
| Application Environment
|--------------------------------------------------------------------------
|
| This value determines the "environment" your application is currently
| running in. This may determine how you prefer to configure various
| services the application utilizes. Set this in your ".env" file.
|
*/
'env' => env('APP_ENV', 'production'),
/*
|--------------------------------------------------------------------------
| Application Debug Mode
|--------------------------------------------------------------------------
|
| When your application is in debug mode, detailed error messages with
| stack traces will be shown on every error that occurs within your
| application. If disabled, a simple generic error page is shown.
|
*/
'debug' => env('APP_DEBUG', false),
'db' => env('DB_DATABASE','db_laundry'),
/*
|--------------------------------------------------------------------------
| Application URL
|--------------------------------------------------------------------------
|
| This URL is used by the console to properly generate URLs when using
| the Artisan command line tool. You should set this to the root of
| your application so that it is used when running Artisan tasks.
|
*/
'url' => env('APP_URL', 'http://localhost'),
'asset_url' => env('ASSET_URL', null),
/*
|--------------------------------------------------------------------------
| Application Timezone
|--------------------------------------------------------------------------
|
| Here you may specify the default timezone for your application, which
| will be used by the PHP date and date-time functions. We have gone
| ahead and set this to a sensible default for you out of the box.
|
*/
'timezone' => 'Asia/Jakarta',
/*
|--------------------------------------------------------------------------
| Application Locale Configuration
|--------------------------------------------------------------------------
|
| The application locale determines the default locale that will be used
| by the translation service provider. You are free to set this value
| to any of the locales which will be supported by the application.
|
*/
'locale' => 'en',
/*
|--------------------------------------------------------------------------
| Application Fallback Locale
|--------------------------------------------------------------------------
|
| The fallback locale determines the locale to use when the current one
| is not available. You may change the value to correspond to any of
| the language folders that are provided through your application.
|
*/
'fallback_locale' => 'en',
/*
|--------------------------------------------------------------------------
| Faker Locale
|--------------------------------------------------------------------------
|
| This locale will be used by the Faker PHP library when generating fake
| data for your database seeds. For example, this will be used to get
| localized telephone numbers, street address information and more.
|
*/
'faker_locale' => 'en_US',
/*
|--------------------------------------------------------------------------
| Encryption Key
|--------------------------------------------------------------------------
|
| This key is used by the Illuminate encrypter service and should be set
| to a random, 32 character string, otherwise these encrypted strings
| will not be safe. Please do this before deploying an application!
|
*/
'key' => env('APP_KEY'),
'cipher' => 'AES-256-CBC',
/*
|--------------------------------------------------------------------------
| Autoloaded Service Providers
|--------------------------------------------------------------------------
|
| The service providers listed here will be automatically loaded on the
| request to your application. Feel free to add your own services to
| this array to grant expanded functionality to your applications.
|
*/
'providers' => [
/*
* Laravel Framework Service Providers...
*/
Illuminate\Auth\AuthServiceProvider::class,
Illuminate\Broadcasting\BroadcastServiceProvider::class,
Illuminate\Bus\BusServiceProvider::class,
Illuminate\Cache\CacheServiceProvider::class,
Illuminate\Foundation\Providers\ConsoleSupportServiceProvider::class,
Illuminate\Cookie\CookieServiceProvider::class,
Illuminate\Database\DatabaseServiceProvider::class,
Illuminate\Encryption\EncryptionServiceProvider::class,
Illuminate\Filesystem\FilesystemServiceProvider::class,
Illuminate\Foundation\Providers\FoundationServiceProvider::class,
Illuminate\Hashing\HashServiceProvider::class,
Illuminate\Mail\MailServiceProvider::class,
Illuminate\Notifications\NotificationServiceProvider::class,
Illuminate\Pagination\PaginationServiceProvider::class,
Illuminate\Pipeline\PipelineServiceProvider::class,
Illuminate\Queue\QueueServiceProvider::class,
Illuminate\Redis\RedisServiceProvider::class,
Illuminate\Auth\Passwords\PasswordResetServiceProvider::class,
Illuminate\Session\SessionServiceProvider::class,
Illuminate\Translation\TranslationServiceProvider::class,
Illuminate\Validation\ValidationServiceProvider::class,
Illuminate\View\ViewServiceProvider::class,
/*
* Package Service Providers...
*/
// RealRashid\SweetAlert\SweetAlertServiceProvider::class,
Spatie\Permission\PermissionServiceProvider::class,
Maatwebsite\Excel\ExcelServiceProvider::class,
/*
* Application Service Providers...
*/
App\Providers\AppServiceProvider::class,
App\Providers\AuthServiceProvider::class,
// App\Providers\BroadcastServiceProvider::class,
App\Providers\EventServiceProvider::class,
App\Providers\RouteServiceProvider::class,
],
/*
|--------------------------------------------------------------------------
| Class Aliases
|--------------------------------------------------------------------------
|
| This array of class aliases will be registered when this application
| is started. However, feel free to register as many as you wish as
| the aliases are "lazy" loaded so they don't hinder performance.
|
*/
'aliases' => [
'App' => Illuminate\Support\Facades\App::class,
'Arr' => Illuminate\Support\Arr::class,
'Artisan' => Illuminate\Support\Facades\Artisan::class,
'Auth' => Illuminate\Support\Facades\Auth::class,
'Blade' => Illuminate\Support\Facades\Blade::class,
'Broadcast' => Illuminate\Support\Facades\Broadcast::class,
'Bus' => Illuminate\Support\Facades\Bus::class,
'Cache' => Illuminate\Support\Facades\Cache::class,
'Config' => Illuminate\Support\Facades\Config::class,
'Cookie' => Illuminate\Support\Facades\Cookie::class,
'Crypt' => Illuminate\Support\Facades\Crypt::class,
'DB' => Illuminate\Support\Facades\DB::class,
'Eloquent' => Illuminate\Database\Eloquent\Model::class,
'Event' => Illuminate\Support\Facades\Event::class,
'File' => Illuminate\Support\Facades\File::class,
'Gate' => Illuminate\Support\Facades\Gate::class,
'Hash' => Illuminate\Support\Facades\Hash::class,
'Lang' => Illuminate\Support\Facades\Lang::class,
'Log' => Illuminate\Support\Facades\Log::class,
'Mail' => Illuminate\Support\Facades\Mail::class,
'Notification' => Illuminate\Support\Facades\Notification::class,
'Password' => Illuminate\Support\Facades\Password::class,
'Queue' => Illuminate\Support\Facades\Queue::class,
'Redirect' => Illuminate\Support\Facades\Redirect::class,
'Redis' => Illuminate\Support\Facades\Redis::class,
'Request' => Illuminate\Support\Facades\Request::class,
'Response' => Illuminate\Support\Facades\Response::class,
'Route' => Illuminate\Support\Facades\Route::class,
'Schema' => Illuminate\Support\Facades\Schema::class,
'Session' => Illuminate\Support\Facades\Session::class,
'Storage' => Illuminate\Support\Facades\Storage::class,
'Str' => Illuminate\Support\Str::class,
'URL' => Illuminate\Support\Facades\URL::class,
'Validator' => Illuminate\Support\Facades\Validator::class,
'View' => Illuminate\Support\Facades\View::class,
'Rupiah' => App\Helpers\Rupiah::class,
'Excel' => Maatwebsite\Excel\Facades\Excel::class,
// 'Alert' => RealRashid\SweetAlert\Facades\Alert::class,
],
];
================================================
FILE: config/auth.php
================================================
<?php
return [
/*
|--------------------------------------------------------------------------
| Authentication Defaults
|--------------------------------------------------------------------------
|
| This option controls the default authentication "guard" and password
| reset options for your application. You may change these defaults
| as required, but they're a perfect start for most applications.
|
*/
'defaults' => [
'guard' => 'web',
'passwords' => 'users',
],
/*
|--------------------------------------------------------------------------
| Authentication Guards
|--------------------------------------------------------------------------
|
| Next, you may define every authentication guard for your application.
| Of course, a great default configuration has been defined for you
| here which uses session storage and the Eloquent user provider.
|
| All authentication drivers have a user provider. This defines how the
| users are actually retrieved out of your database or other storage
| mechanisms used by this application to persist your user's data.
|
| Supported: "session", "token"
|
*/
'guards' => [
'web' => [
'driver' => 'session',
'provider' => 'users',
],
'api' => [
'driver' => 'token',
'provider' => 'users',
'hash' => false,
],
],
/*
|--------------------------------------------------------------------------
| User Providers
|--------------------------------------------------------------------------
|
| All authentication drivers have a user provider. This defines how the
| users are actually retrieved out of your database or other storage
| mechanisms used by this application to persist your user's data.
|
| If you have multiple user tables or models you may configure multiple
| sources which represent each model / table. These sources may then
| be assigned to any extra authentication guards you have defined.
|
| Supported: "database", "eloquent"
|
*/
'providers' => [
'users' => [
'driver' => 'eloquent',
'model' => App\Models\User::class,
],
// 'users' => [
// 'driver' => 'database',
// 'table' => 'users',
// ],
],
/*
|--------------------------------------------------------------------------
| Resetting Passwords
|--------------------------------------------------------------------------
|
| You may specify multiple password reset configurations if you have more
| than one user table or model in the application and you want to have
| separate password reset settings based on the specific user types.
|
| The expire time is the number of minutes that the reset token should be
| considered valid. This security feature keeps tokens short-lived so
| they have less time to be guessed. You may change this as needed.
|
*/
'passwords' => [
'users' => [
'provider' => 'users',
'table' => 'password_resets',
'expire' => 60,
],
],
];
================================================
FILE: config/broadcasting.php
================================================
<?php
return [
/*
|--------------------------------------------------------------------------
| Default Broadcaster
|--------------------------------------------------------------------------
|
| This option controls the default broadcaster that will be used by the
| framework when an event needs to be broadcast. You may set this to
| any of the connections defined in the "connections" array below.
|
| Supported: "pusher", "redis", "log", "null"
|
*/
'default' => env('BROADCAST_DRIVER', 'null'),
/*
|--------------------------------------------------------------------------
| Broadcast Connections
|--------------------------------------------------------------------------
|
| Here you may define all of the broadcast connections that will be used
| to broadcast events to other systems or over websockets. Samples of
| each available type of connection are provided inside this array.
|
*/
'connections' => [
'pusher' => [
'driver' => 'pusher',
'key' => env('PUSHER_APP_KEY'),
'secret' => env('PUSHER_APP_SECRET'),
'app_id' => env('PUSHER_APP_ID'),
'options' => [
'cluster' => env('PUSHER_APP_CLUSTER'),
'encrypted' => true,
],
],
'redis' => [
'driver' => 'redis',
'connection' => 'default',
],
'log' => [
'driver' => 'log',
],
'null' => [
'driver' => 'null',
],
],
];
================================================
FILE: config/cache.php
================================================
<?php
use Illuminate\Support\Str;
return [
/*
|--------------------------------------------------------------------------
| Default Cache Store
|--------------------------------------------------------------------------
|
| This option controls the default cache connection that gets used while
| using this caching library. This connection is used when another is
| not explicitly specified when executing a given caching function.
|
| Supported: "apc", "array", "database", "file",
| "memcached", "redis", "dynamodb"
|
*/
'default' => env('CACHE_DRIVER', 'file'),
/*
|--------------------------------------------------------------------------
| Cache Stores
|--------------------------------------------------------------------------
|
| Here you may define all of the cache "stores" for your application as
| well as their drivers. You may even define multiple stores for the
| same cache driver to group types of items stored in your caches.
|
*/
'stores' => [
'apc' => [
'driver' => 'apc',
],
'array' => [
'driver' => 'array',
],
'database' => [
'driver' => 'database',
'table' => 'cache',
'connection' => null,
],
'file' => [
'driver' => 'file',
'path' => storage_path('framework/cache/data'),
],
'memcached' => [
'driver' => 'memcached',
'persistent_id' => env('MEMCACHED_PERSISTENT_ID'),
'sasl' => [
env('MEMCACHED_USERNAME'),
env('MEMCACHED_PASSWORD'),
],
'options' => [
// Memcached::OPT_CONNECT_TIMEOUT => 2000,
],
'servers' => [
[
'host' => env('MEMCACHED_HOST', '127.0.0.1'),
'port' => env('MEMCACHED_PORT', 11211),
'weight' => 100,
],
],
],
'redis' => [
'driver' => 'redis',
'connection' => 'cache',
],
'dynamodb' => [
'driver' => 'dynamodb',
'key' => env('AWS_ACCESS_KEY_ID'),
'secret' => env('AWS_SECRET_ACCESS_KEY'),
'region' => env('AWS_DEFAULT_REGION', 'us-east-1'),
'table' => env('DYNAMODB_CACHE_TABLE', 'cache'),
],
],
/*
|--------------------------------------------------------------------------
| Cache Key Prefix
|--------------------------------------------------------------------------
|
| When utilizing a RAM based store such as APC or Memcached, there might
| be other applications utilizing the same cache. So, we'll specify a
| value to get prefixed to all our keys so we can avoid collisions.
|
*/
'prefix' => env('CACHE_PREFIX', Str::slug(env('APP_NAME', 'laravel'), '_').'_cache'),
];
================================================
FILE: config/database.php
================================================
<?php
use Illuminate\Support\Str;
return [
/*
|--------------------------------------------------------------------------
| Default Database Connection Name
|--------------------------------------------------------------------------
|
| Here you may specify which of the database connections below you wish
| to use as your default connection for all database work. Of course
| you may use many connections at once using the Database library.
|
*/
'default' => env('DB_CONNECTION', 'mysql'),
/*
|--------------------------------------------------------------------------
| Database Connections
|--------------------------------------------------------------------------
|
| Here are each of the database connections setup for your application.
| Of course, examples of configuring each database platform that is
| supported by Laravel is shown below to make development simple.
|
|
| All database work in Laravel is done through the PHP PDO facilities
| so make sure you have the driver for your particular database of
| choice installed on your machine before you begin development.
|
*/
'connections' => [
'sqlite' => [
'driver' => 'sqlite',
'url' => env('DATABASE_URL'),
'database' => env('DB_DATABASE', database_path('database.sqlite')),
'prefix' => '',
'foreign_key_constraints' => env('DB_FOREIGN_KEYS', true),
],
'mysql' => [
'driver' => 'mysql',
'url' => env('DATABASE_URL'),
'host' => env('DB_HOST', '127.0.0.1'),
'port' => env('DB_PORT', '3306'),
'database' => env('DB_DATABASE', 'forge'),
'username' => env('DB_USERNAME', 'forge'),
'password' => env('DB_PASSWORD', ''),
'unix_socket' => env('DB_SOCKET', ''),
'charset' => 'utf8mb4',
'collation' => 'utf8mb4_unicode_ci',
'prefix' => '',
'prefix_indexes' => true,
'strict' => false,
'engine' => null,
'options' => extension_loaded('pdo_mysql') ? array_filter([
PDO::MYSQL_ATTR_SSL_CA => env('MYSQL_ATTR_SSL_CA'),
]) : [],
],
'pgsql' => [
'driver' => 'pgsql',
'url' => env('DATABASE_URL'),
'host' => env('DB_HOST', '127.0.0.1'),
'port' => env('DB_PORT', '5432'),
'database' => env('DB_DATABASE', 'forge'),
'username' => env('DB_USERNAME', 'forge'),
'password' => env('DB_PASSWORD', ''),
'charset' => 'utf8',
'prefix' => '',
'prefix_indexes' => true,
'schema' => 'public',
'sslmode' => 'prefer',
],
'sqlsrv' => [
'driver' => 'sqlsrv',
'url' => env('DATABASE_URL'),
'host' => env('DB_HOST', 'localhost'),
'port' => env('DB_PORT', '1433'),
'database' => env('DB_DATABASE', 'forge'),
'username' => env('DB_USERNAME', 'forge'),
'password' => env('DB_PASSWORD', ''),
'charset' => 'utf8',
'prefix' => '',
'prefix_indexes' => true,
],
],
/*
|--------------------------------------------------------------------------
| Migration Repository Table
|--------------------------------------------------------------------------
|
| This table keeps track of all the migrations that have already run for
| your application. Using this information, we can determine which of
| the migrations on disk haven't actually been run in the database.
|
*/
'migrations' => 'migrations',
/*
|--------------------------------------------------------------------------
| Redis Databases
|--------------------------------------------------------------------------
|
| Redis is an open source, fast, and advanced key-value store that also
| provides a richer body of commands than a typical key-value system
| such as APC or Memcached. Laravel makes it easy to dig right in.
|
*/
'redis' => [
'client' => env('REDIS_CLIENT', 'predis'),
'options' => [
'cluster' => env('REDIS_CLUSTER', 'predis'),
'prefix' => Str::slug(env('APP_NAME', 'laravel'), '_').'_database_',
],
'default' => [
'host' => env('REDIS_HOST', '127.0.0.1'),
'password' => env('REDIS_PASSWORD', null),
'port' => env('REDIS_PORT', 6379),
'database' => env('REDIS_DB', 0),
],
'cache' => [
'host' => env('REDIS_HOST', '127.0.0.1'),
'password' => env('REDIS_PASSWORD', null),
'port' => env('REDIS_PORT', 6379),
'database' => env('REDIS_CACHE_DB', 1),
],
],
];
================================================
FILE: config/excel.php
================================================
<?php
use Maatwebsite\Excel\Excel;
return [
'exports' => [
/*
|--------------------------------------------------------------------------
| Chunk size
|--------------------------------------------------------------------------
|
| When using FromQuery, the query is automatically chunked.
| Here you can specify how big the chunk should be.
|
*/
'chunk_size' => 1000,
/*
|--------------------------------------------------------------------------
| Pre-calculate formulas during export
|--------------------------------------------------------------------------
*/
'pre_calculate_formulas' => false,
/*
|--------------------------------------------------------------------------
| Enable strict null comparison
|--------------------------------------------------------------------------
|
| When enabling strict null comparison empty cells ('') will
| be added to the sheet.
*/
'strict_null_comparison' => false,
/*
|--------------------------------------------------------------------------
| CSV Settings
|--------------------------------------------------------------------------
|
| Configure e.g. delimiter, enclosure and line ending for CSV exports.
|
*/
'csv' => [
'delimiter' => ',',
'enclosure' => '"',
'line_ending' => PHP_EOL,
'use_bom' => false,
'include_separator_line' => false,
'excel_compatibility' => false,
'output_encoding' => '',
],
/*
|--------------------------------------------------------------------------
| Worksheet properties
|--------------------------------------------------------------------------
|
| Configure e.g. default title, creator, subject,...
|
*/
'properties' => [
'creator' => '',
'lastModifiedBy' => '',
'title' => '',
'description' => '',
'subject' => '',
'keywords' => '',
'category' => '',
'manager' => '',
'company' => '',
],
],
'imports' => [
/*
|--------------------------------------------------------------------------
| Read Only
|--------------------------------------------------------------------------
|
| When dealing with imports, you might only be interested in the
| data that the sheet exists. By default we ignore all styles,
| however if you want to do some logic based on style data
| you can enable it by setting read_only to false.
|
*/
'read_only' => true,
/*
|--------------------------------------------------------------------------
| Ignore Empty
|--------------------------------------------------------------------------
|
| When dealing with imports, you might be interested in ignoring
| rows that have null values or empty strings. By default rows
| containing empty strings or empty values are not ignored but can be
| ignored by enabling the setting ignore_empty to true.
|
*/
'ignore_empty' => false,
/*
|--------------------------------------------------------------------------
| Heading Row Formatter
|--------------------------------------------------------------------------
|
| Configure the heading row formatter.
| Available options: none|slug|custom
|
*/
'heading_row' => [
'formatter' => 'slug',
],
/*
|--------------------------------------------------------------------------
| CSV Settings
|--------------------------------------------------------------------------
|
| Configure e.g. delimiter, enclosure and line ending for CSV imports.
|
*/
'csv' => [
'delimiter' => null,
'enclosure' => '"',
'escape_character' => '\\',
'contiguous' => false,
'input_encoding' => 'UTF-8',
],
/*
|--------------------------------------------------------------------------
| Worksheet properties
|--------------------------------------------------------------------------
|
| Configure e.g. default title, creator, subject,...
|
*/
'properties' => [
'creator' => '',
'lastModifiedBy' => '',
'title' => '',
'description' => '',
'subject' => '',
'keywords' => '',
'category' => '',
'manager' => '',
'company' => '',
],
],
/*
|--------------------------------------------------------------------------
| Extension detector
|--------------------------------------------------------------------------
|
| Configure here which writer/reader type should be used when the package
| needs to guess the correct type based on the extension alone.
|
*/
'extension_detector' => [
'xlsx' => Excel::XLSX,
'xlsm' => Excel::XLSX,
'xltx' => Excel::XLSX,
'xltm' => Excel::XLSX,
'xls' => Excel::XLS,
'xlt' => Excel::XLS,
'ods' => Excel::ODS,
'ots' => Excel::ODS,
'slk' => Excel::SLK,
'xml' => Excel::XML,
'gnumeric' => Excel::GNUMERIC,
'htm' => Excel::HTML,
'html' => Excel::HTML,
'csv' => Excel::CSV,
'tsv' => Excel::TSV,
/*
|--------------------------------------------------------------------------
| PDF Extension
|--------------------------------------------------------------------------
|
| Configure here which Pdf driver should be used by default.
| Available options: Excel::MPDF | Excel::TCPDF | Excel::DOMPDF
|
*/
'pdf' => Excel::DOMPDF,
],
/*
|--------------------------------------------------------------------------
| Value Binder
|--------------------------------------------------------------------------
|
| PhpSpreadsheet offers a way to hook into the process of a value being
| written to a cell. In there some assumptions are made on how the
| value should be formatted. If you want to change those defaults,
| you can implement your own default value binder.
|
| Possible value binders:
|
| [x] Maatwebsite\Excel\DefaultValueBinder::class
| [x] PhpOffice\PhpSpreadsheet\Cell\StringValueBinder::class
| [x] PhpOffice\PhpSpreadsheet\Cell\AdvancedValueBinder::class
|
*/
'value_binder' => [
'default' => Maatwebsite\Excel\DefaultValueBinder::class,
],
'cache' => [
/*
|--------------------------------------------------------------------------
| Default cell caching driver
|--------------------------------------------------------------------------
|
| By default PhpSpreadsheet keeps all cell values in memory, however when
| dealing with large files, this might result into memory issues. If you
| want to mitigate that, you can configure a cell caching driver here.
| When using the illuminate driver, it will store each value in a the
| cache store. This can slow down the process, because it needs to
| store each value. You can use the "batch" store if you want to
| only persist to the store when the memory limit is reached.
|
| Drivers: memory|illuminate|batch
|
*/
'driver' => 'memory',
/*
|--------------------------------------------------------------------------
| Batch memory caching
|--------------------------------------------------------------------------
|
| When dealing with the "batch" caching driver, it will only
| persist to the store when the memory limit is reached.
| Here you can tweak the memory limit to your liking.
|
*/
'batch' => [
'memory_limit' => 60000,
],
/*
|--------------------------------------------------------------------------
| Illuminate cache
|--------------------------------------------------------------------------
|
| When using the "illuminate" caching driver, it will automatically use
| your default cache store. However if you prefer to have the cell
| cache on a separate store, you can configure the store name here.
| You can use any store defined in your cache config. When leaving
| at "null" it will use the default store.
|
*/
'illuminate' => [
'store' => null,
],
],
/*
|--------------------------------------------------------------------------
| Transaction Handler
|--------------------------------------------------------------------------
|
| By default the import is wrapped in a transaction. This is useful
| for when an import may fail and you want to retry it. With the
| transactions, the previous import gets rolled-back.
|
| You can disable the transaction handler by setting this to null.
| Or you can choose a custom made transaction handler here.
|
| Supported handlers: null|db
|
*/
'transactions' => [
'handler' => 'db',
'db' => [
'connection' => null,
],
],
'temporary_files' => [
/*
|--------------------------------------------------------------------------
| Local Temporary Path
|--------------------------------------------------------------------------
|
| When exporting and importing files, we use a temporary file, before
| storing reading or downloading. Here you can customize that path.
|
*/
'local_path' => storage_path('framework/cache/laravel-excel'),
/*
|--------------------------------------------------------------------------
| Remote Temporary Disk
|--------------------------------------------------------------------------
|
| When dealing with a multi server setup with queues in which you
| cannot rely on having a shared local temporary path, you might
| want to store the temporary file on a shared disk. During the
| queue executing, we'll retrieve the temporary file from that
| location instead. When left to null, it will always use
| the local path. This setting only has effect when using
| in conjunction with queued imports and exports.
|
*/
'remote_disk' => null,
'remote_prefix' => null,
/*
|--------------------------------------------------------------------------
| Force Resync
|--------------------------------------------------------------------------
|
| When dealing with a multi server setup as above, it's possible
| for the clean up that occurs after entire queue has been run to only
| cleanup the server that the last AfterImportJob runs on. The rest of the server
| would still have the local temporary file stored on it. In this case your
| local storage limits can be exceeded and future imports won't be processed.
| To mitigate this you can set this config value to be true, so that after every
| queued chunk is processed the local temporary file is deleted on the server that
| processed it.
|
*/
'force_resync_remote' => null,
],
];
================================================
FILE: config/filesystems.php
================================================
<?php
return [
/*
|--------------------------------------------------------------------------
| Default Filesystem Disk
|--------------------------------------------------------------------------
|
| Here you may specify the default filesystem disk that should be used
| by the framework. The "local" disk, as well as a variety of cloud
| based disks are available to your application. Just store away!
|
*/
'default' => env('FILESYSTEM_DRIVER', 'local'),
/*
|--------------------------------------------------------------------------
| Default Cloud Filesystem Disk
|--------------------------------------------------------------------------
|
| Many applications store files both locally and in the cloud. For this
| reason, you may specify a default "cloud" driver here. This driver
| will be bound as the Cloud disk implementation in the container.
|
*/
'cloud' => env('FILESYSTEM_CLOUD', 's3'),
/*
|--------------------------------------------------------------------------
| Filesystem Disks
|--------------------------------------------------------------------------
|
| Here you may configure as many filesystem "disks" as you wish, and you
| may even configure multiple disks of the same driver. Defaults have
| been setup for each driver as an example of the required options.
|
| Supported Drivers: "local", "ftp", "sftp", "s3", "rackspace"
|
*/
'disks' => [
'local' => [
'driver' => 'local',
'root' => storage_path('app'),
],
'public' => [
'driver' => 'local',
'root' => storage_path('app/public'),
'url' => env('APP_URL').'/storage',
'visibility' => 'public',
],
's3' => [
'driver' => 's3',
'key' => env('AWS_ACCESS_KEY_ID'),
'secret' => env('AWS_SECRET_ACCESS_KEY'),
'region' => env('AWS_DEFAULT_REGION'),
'bucket' => env('AWS_BUCKET'),
'url' => env('AWS_URL'),
],
],
];
================================================
FILE: config/hashing.php
================================================
<?php
return [
/*
|--------------------------------------------------------------------------
| Default Hash Driver
|--------------------------------------------------------------------------
|
| This option controls the default hash driver that will be used to hash
| passwords for your application. By default, the bcrypt algorithm is
| used; however, you remain free to modify this option if you wish.
|
| Supported: "bcrypt", "argon", "argon2id"
|
*/
'driver' => 'bcrypt',
/*
|--------------------------------------------------------------------------
| Bcrypt Options
|--------------------------------------------------------------------------
|
| Here you may specify the configuration options that should be used when
| passwords are hashed using the Bcrypt algorithm. This will allow you
| to control the amount of time it takes to hash the given password.
|
*/
'bcrypt' => [
'rounds' => env('BCRYPT_ROUNDS', 10),
],
/*
|--------------------------------------------------------------------------
| Argon Options
|--------------------------------------------------------------------------
|
| Here you may specify the configuration options that should be used when
| passwords are hashed using the Argon algorithm. These will allow you
| to control the amount of time it takes to hash the given password.
|
*/
'argon' => [
'memory' => 1024,
'threads' => 2,
'time' => 2,
],
];
================================================
FILE: config/logging.php
================================================
<?php
use Monolog\Handler\StreamHandler;
use Monolog\Handler\SyslogUdpHandler;
return [
/*
|--------------------------------------------------------------------------
| Default Log Channel
|--------------------------------------------------------------------------
|
| This option defines the default log channel that gets used when writing
| messages to the logs. The name specified in this option should match
| one of the channels defined in the "channels" configuration array.
|
*/
'default' => env('LOG_CHANNEL', 'stack'),
/*
|--------------------------------------------------------------------------
| Log Channels
|--------------------------------------------------------------------------
|
| Here you may configure the log channels for your application. Out of
| the box, Laravel uses the Monolog PHP logging library. This gives
| you a variety of powerful log handlers / formatters to utilize.
|
| Available Drivers: "single", "daily", "slack", "syslog",
| "errorlog", "monolog",
| "custom", "stack"
|
*/
'channels' => [
'stack' => [
'driver' => 'stack',
'channels' => ['daily'],
'ignore_exceptions' => false,
],
'single' => [
'driver' => 'single',
'path' => storage_path('logs/laravel.log'),
'level' => 'debug',
],
'daily' => [
'driver' => 'daily',
'path' => storage_path('logs/laravel.log'),
'level' => 'debug',
'days' => 14,
],
'slack' => [
'driver' => 'slack',
'url' => env('LOG_SLACK_WEBHOOK_URL'),
'username' => 'Laravel Log',
'emoji' => ':boom:',
'level' => 'critical',
],
'papertrail' => [
'driver' => 'monolog',
'level' => 'debug',
'handler' => SyslogUdpHandler::class,
'handler_with' => [
'host' => env('PAPERTRAIL_URL'),
'port' => env('PAPERTRAIL_PORT'),
],
],
'stderr' => [
'driver' => 'monolog',
'handler' => StreamHandler::class,
'formatter' => env('LOG_STDERR_FORMATTER'),
'with' => [
'stream' => 'php://stderr',
],
],
'syslog' => [
'driver' => 'syslog',
'level' => 'debug',
],
'errorlog' => [
'driver' => 'errorlog',
'level' => 'debug',
],
],
];
================================================
FILE: config/mail.php
================================================
<?php
return [
/*
|--------------------------------------------------------------------------
| Mail Driver
|--------------------------------------------------------------------------
|
| Laravel supports both SMTP and PHP's "mail" function as drivers for the
| sending of e-mail. You may specify which one you're using throughout
| your application here. By default, Laravel is setup for SMTP mail.
|
| Supported: "smtp", "sendmail", "mailgun", "mandrill", "ses",
| "sparkpost", "postmark", "log", "array"
|
*/
'driver' => env('MAIL_DRIVER', 'smtp'),
/*
|--------------------------------------------------------------------------
| SMTP Host Address
|--------------------------------------------------------------------------
|
| Here you may provide the host address of the SMTP server used by your
| applications. A default option is provided that is compatible with
| the Mailgun mail service which will provide reliable deliveries.
|
*/
'host' => env('MAIL_HOST', 'smtp.mailgun.org'),
/*
|--------------------------------------------------------------------------
| SMTP Host Port
|--------------------------------------------------------------------------
|
| This is the SMTP port used by your application to deliver e-mails to
| users of the application. Like the host we have set this value to
| stay compatible with the Mailgun e-mail application by default.
|
*/
'port' => env('MAIL_PORT', 587),
/*
|--------------------------------------------------------------------------
| Global "From" Address
|--------------------------------------------------------------------------
|
| You may wish for all e-mails sent by your application to be sent from
| the same address. Here, you may specify a name and address that is
| used globally for all e-mails that are sent by your application.
|
*/
'from' => [
'address' => env('MAIL_FROM_ADDRESS', 'hello@example.com'),
'name' => env('MAIL_FROM_NAME', 'Example'),
],
/*
|--------------------------------------------------------------------------
| E-Mail Encryption Protocol
|--------------------------------------------------------------------------
|
| Here you may specify the encryption protocol that should be used when
| the application send e-mail messages. A sensible default using the
| transport layer security protocol should provide great security.
|
*/
'encryption' => env('MAIL_ENCRYPTION', 'tls'),
/*
|--------------------------------------------------------------------------
| SMTP Server Username
|--------------------------------------------------------------------------
|
| If your SMTP server requires a username for authentication, you should
| set it here. This will get used to authenticate with your server on
| connection. You may also set the "password" value below this one.
|
*/
'username' => env('MAIL_USERNAME'),
'password' => env('MAIL_PASSWORD'),
/*
|--------------------------------------------------------------------------
| Sendmail System Path
|--------------------------------------------------------------------------
|
| When using the "sendmail" driver to send e-mails, we will need to know
| the path to where Sendmail lives on this server. A default path has
| been provided here, which will work well on most of your systems.
|
*/
'sendmail' => '/usr/sbin/sendmail -bs',
/*
|--------------------------------------------------------------------------
| Markdown Mail Settings
|--------------------------------------------------------------------------
|
| If you are using Markdown based email rendering, you may configure your
| theme and component paths here, allowing you to customize the design
| of the emails. Or, you may simply stick with the Laravel defaults!
|
*/
'markdown' => [
'theme' => 'default',
'paths' => [
resource_path('views/vendor/mail'),
],
],
/*
|--------------------------------------------------------------------------
| Log Channel
|--------------------------------------------------------------------------
|
| If you are using the "log" driver, you may specify the logging channel
| if you prefer to keep mail messages separate from other log entries
| for simpler reading. Otherwise, the default channel will be used.
|
*/
'log_channel' => env('MAIL_LOG_CHANNEL'),
];
================================================
FILE: config/permission.php
================================================
<?php
return [
'models' => [
/*
* When using the "HasPermissions" trait from this package, we need to know which
* Eloquent model should be used to retrieve your permissions. Of course, it
* is often just the "Permission" model but you may use whatever you like.
*
* The model you want to use as a Permission model needs to implement the
* `Spatie\Permission\Contracts\Permission` contract.
*/
'permission' => Spatie\Permission\Models\Permission::class,
/*
* When using the "HasRoles" trait from this package, we need to know which
* Eloquent model should be used to retrieve your roles. Of course, it
* is often just the "Role" model but you may use whatever you like.
*
* The model you want to use as a Role model needs to implement the
* `Spatie\Permission\Contracts\Role` contract.
*/
'role' => Spatie\Permission\Models\Role::class,
],
'table_names' => [
/*
* When using the "HasRoles" trait from this package, we need to know which
* table should be used to retrieve your roles. We have chosen a basic
* default value but you may easily change it to any table you like.
*/
'roles' => 'roles',
/*
* When using the "HasPermissions" trait from this package, we need to know which
* table should be used to retrieve your permissions. We have chosen a basic
* default value but you may easily change it to any table you like.
*/
'permissions' => 'permissions',
/*
* When using the "HasPermissions" trait from this package, we need to know which
* table should be used to retrieve your models permissions. We have chosen a
* basic default value but you may easily change it to any table you like.
*/
'model_has_permissions' => 'model_has_permissions',
/*
* When using the "HasRoles" trait from this package, we need to know which
* table should be used to retrieve your models roles. We have chosen a
* basic default value but you may easily change it to any table you like.
*/
'model_has_roles' => 'model_has_roles',
/*
* When using the "HasRoles" trait from this package, we need to know which
* table should be used to retrieve your roles permissions. We have chosen a
* basic default value but you may easily change it to any table you like.
*/
'role_has_permissions' => 'role_has_permissions',
],
'column_names' => [
/*
* Change this if you want to name the related model primary key other than
* `model_id`.
*
* For example, this would be nice if your primary keys are all UUIDs. In
* that case, name this `model_uuid`.
*/
'model_morph_key' => 'model_id',
],
/*
* When set to true, the required permission names are added to the exception
* message. This could be considered an information leak in some contexts, so
* the default setting is false here for optimum safety.
*/
'display_permission_in_exception' => false,
/*
* When set to true, the required role names are added to the exception
* message. This could be considered an information leak in some contexts, so
* the default setting is false here for optimum safety.
*/
'display_role_in_exception' => false,
/*
* By default wildcard permission lookups are disabled.
*/
'enable_wildcard_permission' => false,
'cache' => [
/*
* By default all permissions are cached for 24 hours to speed up performance.
* When permissions or roles are updated the cache is flushed automatically.
*/
'expiration_time' => \DateInterval::createFromDateString('24 hours'),
/*
* The cache key used to store all permissions.
*/
'key' => 'spatie.permission.cache',
/*
* When checking for a permission against a model by passing a Permission
* instance to the check, this key determines what attribute on the
* Permissions model is used to cache against.
*
* Ideally, this should match your preferred way of checking permissions, eg:
* `$user->can('view-posts')` would be 'name'.
*/
'model_key' => 'name',
/*
* You may optionally indicate a specific cache driver to use for permission and
* role caching using any of the `store` drivers listed in the cache.php config
* file. Using 'default' here means to use the `default` set in cache.php.
*/
'store' => 'default',
],
];
================================================
FILE: config/queue.php
================================================
<?php
return [
/*
|--------------------------------------------------------------------------
| Default Queue Connection Name
|--------------------------------------------------------------------------
|
| Laravel's queue API supports an assortment of back-ends via a single
| API, giving you convenient access to each back-end using the same
| syntax for every one. Here you may define a default connection.
|
*/
'default' => env('QUEUE_CONNECTION', 'sync'),
/*
|--------------------------------------------------------------------------
| Queue Connections
|--------------------------------------------------------------------------
|
| Here you may configure the connection information for each server that
| is used by your application. A default configuration has been added
| for each back-end shipped with Laravel. You are free to add more.
|
| Drivers: "sync", "database", "beanstalkd", "sqs", "redis", "null"
|
*/
'connections' => [
'sync' => [
'driver' => 'sync',
],
'database' => [
'driver' => 'database',
'table' => 'jobs',
'queue' => 'default',
'retry_after' => 90,
],
'beanstalkd' => [
'driver' => 'beanstalkd',
'host' => 'localhost',
'queue' => 'default',
'retry_after' => 90,
'block_for' => 0,
],
'sqs' => [
'driver' => 'sqs',
'key' => env('AWS_ACCESS_KEY_ID'),
'secret' => env('AWS_SECRET_ACCESS_KEY'),
'prefix' => env('SQS_PREFIX', 'https://sqs.us-east-1.amazonaws.com/your-account-id'),
'queue' => env('SQS_QUEUE', 'your-queue-name'),
'region' => env('AWS_DEFAULT_REGION', 'us-east-1'),
],
'redis' => [
'driver' => 'redis',
'connection' => 'default',
'queue' => env('REDIS_QUEUE', 'default'),
'retry_after' => 90,
'block_for' => null,
],
],
/*
|--------------------------------------------------------------------------
| Failed Queue Jobs
|--------------------------------------------------------------------------
|
| These options configure the behavior of failed queue job logging so you
| can control which database and table are used to store the jobs that
| have failed. You may change them to any database / table you wish.
|
*/
'failed' => [
'database' => env('DB_CONNECTION', 'mysql'),
'table' => 'failed_jobs',
],
];
================================================
FILE: config/services.php
================================================
<?php
return [
/*
|--------------------------------------------------------------------------
| Third Party Services
|--------------------------------------------------------------------------
|
| This file is for storing the credentials for third party services such
| as Stripe, Mailgun, SparkPost and others. This file provides a sane
| default location for this type of information, allowing packages
| to have a conventional place to find your various credentials.
|
*/
'mailgun' => [
'domain' => env('MAILGUN_DOMAIN'),
'secret' => env('MAILGUN_SECRET'),
'endpoint' => env('MAILGUN_ENDPOINT', 'api.mailgun.net'),
],
'postmark' => [
'token' => env('POSTMARK_TOKEN'),
],
'ses' => [
'key' => env('AWS_ACCESS_KEY_ID'),
'secret' => env('AWS_SECRET_ACCESS_KEY'),
'region' => env('AWS_DEFAULT_REGION', 'us-east-1'),
],
'sparkpost' => [
'secret' => env('SPARKPOST_SECRET'),
],
'stripe' => [
'model' => App\User::class,
'key' => env('STRIPE_KEY'),
'secret' => env('STRIPE_SECRET'),
'webhook' => [
'secret' => env('STRIPE_WEBHOOK_SECRET'),
'tolerance' => env('STRIPE_WEBHOOK_TOLERANCE', 300),
],
],
'telegram-bot-api' => [
'token' => env('TELEGRAM_BOT_TOKEN', 'YOUR BOT TOKEN HERE')
],
];
================================================
FILE: config/session.php
================================================
<?php
use Illuminate\Support\Str;
return [
/*
|--------------------------------------------------------------------------
| Default Session Driver
|--------------------------------------------------------------------------
|
| This option controls the default session "driver" that will be used on
| requests. By default, we will use the lightweight native driver but
| you may specify any of the other wonderful drivers provided here.
|
| Supported: "file", "cookie", "database", "apc",
| "memcached", "redis", "dynamodb", "array"
|
*/
'driver' => env('SESSION_DRIVER', 'file'),
/*
|--------------------------------------------------------------------------
| Session Lifetime
|--------------------------------------------------------------------------
|
| Here you may specify the number of minutes that you wish the session
| to be allowed to remain idle before it expires. If you want them
| to immediately expire on the browser closing, set that option.
|
*/
'lifetime' => env('SESSION_LIFETIME', 120),
'expire_on_close' => false,
/*
|--------------------------------------------------------------------------
| Session Encryption
|--------------------------------------------------------------------------
|
| This option allows you to easily specify that all of your session data
| should be encrypted before it is stored. All encryption will be run
| automatically by Laravel and you can use the Session like normal.
|
*/
'encrypt' => false,
/*
|--------------------------------------------------------------------------
| Session File Location
|--------------------------------------------------------------------------
|
| When using the native session driver, we need a location where session
| files may be stored. A default has been set for you but a different
| location may be specified. This is only needed for file sessions.
|
*/
'files' => storage_path('framework/sessions'),
/*
|--------------------------------------------------------------------------
| Session Database Connection
|--------------------------------------------------------------------------
|
| When using the "database" or "redis" session drivers, you may specify a
| connection that should be used to manage these sessions. This should
| correspond to a connection in your database configuration options.
|
*/
'connection' => env('SESSION_CONNECTION', null),
/*
|--------------------------------------------------------------------------
| Session Database Table
|--------------------------------------------------------------------------
|
| When using the "database" session driver, you may specify the table we
| should use to manage the sessions. Of course, a sensible default is
| provided for you; however, you are free to change this as needed.
|
*/
'table' => 'sessions',
/*
|--------------------------------------------------------------------------
| Session Cache Store
|--------------------------------------------------------------------------
|
| When using the "apc", "memcached", or "dynamodb" session drivers you may
| list a cache store that should be used for these sessions. This value
| must match with one of the application's configured cache "stores".
|
*/
'store' => env('SESSION_STORE', null),
/*
|--------------------------------------------------------------------------
| Session Sweeping Lottery
|--------------------------------------------------------------------------
|
| Some session drivers must manually sweep their storage location to get
| rid of old sessions from storage. Here are the chances that it will
| happen on a given request. By default, the odds are 2 out of 100.
|
*/
'lottery' => [2, 100],
/*
|--------------------------------------------------------------------------
| Session Cookie Name
|--------------------------------------------------------------------------
|
| Here you may change the name of the cookie used to identify a session
| instance by ID. The name specified here will get used every time a
| new session cookie is created by the framework for every driver.
|
*/
'cookie' => env(
'SESSION_COOKIE',
Str::slug(env('APP_NAME', 'laravel'), '_').'_session'
),
/*
|--------------------------------------------------------------------------
| Session Cookie Path
|--------------------------------------------------------------------------
|
| The session cookie path determines the path for which the cookie will
| be regarded as available. Typically, this will be the root path of
| your application but you are free to change this when necessary.
|
*/
'path' => '/',
/*
|--------------------------------------------------------------------------
| Session Cookie Domain
|--------------------------------------------------------------------------
|
| Here you may change the domain of the cookie used to identify a session
| in your application. This will determine which domains the cookie is
| available to in your application. A sensible default has been set.
|
*/
'domain' => env('SESSION_DOMAIN', null),
/*
|--------------------------------------------------------------------------
| HTTPS Only Cookies
|--------------------------------------------------------------------------
|
| By setting this option to true, session cookies will only be sent back
| to the server if the browser has a HTTPS connection. This will keep
| the cookie from being sent to you if it can not be done securely.
|
*/
'secure' => env('SESSION_SECURE_COOKIE', false),
/*
|--------------------------------------------------------------------------
| HTTP Access Only
|--------------------------------------------------------------------------
|
| Setting this value to true will prevent JavaScript from accessing the
| value of the cookie and the cookie will only be accessible through
| the HTTP protocol. You are free to modify this option if needed.
|
*/
'http_only' => true,
/*
|--------------------------------------------------------------------------
| Same-Site Cookies
|--------------------------------------------------------------------------
|
| This option determines how your cookies behave when cross-site requests
| take place, and can be used to mitigate CSRF attacks. By default, we
| do not enable this as other CSRF protection services are in place.
|
| Supported: "lax", "strict"
|
*/
'same_site' => null,
];
================================================
FILE: config/sweet-alert.php
================================================
<?php
return [
/*
* This sets the global autoclose for all alerts.
* If you want to change a specific alert chain ->autoclose(milliseconds) on the end.
*/
'autoclose' => 2500,
];
================================================
FILE: config/sweetalert.php
================================================
<?php
return [
/*
|--------------------------------------------------------------------------
| CDN LINK
|--------------------------------------------------------------------------
| By default SweetAlert2 use its local sweetalert.all.js
| file.
| However, you can use its cdn if you want.
|
*/
'cdn' => env('SWEET_ALERT_CDN'),
/*
|--------------------------------------------------------------------------
| AutoClose Timer
|--------------------------------------------------------------------------
|
| This is for the all Modal windows.
| For specific modal just use the autoClose() helper method.
|
*/
'timer' => env('SWEET_ALERT_TIMER', 5000),
/*
|--------------------------------------------------------------------------
| Width
|--------------------------------------------------------------------------
|
| Modal window width, including paddings (box-sizing: border-box).
| Can be in px or %.
| The default width is 32rem.
| This is for the all Modal windows.
| for particular modal just use the width() helper method.
*/
'width' => env('SWEET_ALERT_WIDTH', '32rem'),
/*
|--------------------------------------------------------------------------
| Height Auto
|--------------------------------------------------------------------------
| By default, SweetAlert2 sets html's and body's CSS height to auto !important.
| If this behavior isn't compatible with your project's layout,
| set heightAuto to false.
|
*/
'height_auto' => env('SWEET_ALERT_HEIGHT_AUTO', true),
/*
|--------------------------------------------------------------------------
| Padding
|--------------------------------------------------------------------------
|
| Modal window padding.
| Can be in px or %.
| The default padding is 1.25rem.
| This is for the all Modal windows.
| for particular modal just use the padding() helper method.
*/
'padding' => env('SWEET_ALERT_PADDING', '1.25rem'),
/*
|--------------------------------------------------------------------------
| Animation
|--------------------------------------------------------------------------
| Custom animation with [Animate.css](https://daneden.github.io/animate.css/)
| If set to false, modal CSS animation will be use default ones.
| For specific modal just use the animation() helper method.
|
*/
'animation' => [
'enable' => env('SWEET_ALERT_ANIMATION_ENABLE', false),
],
'animatecss' => env('SWEET_ALERT_ANIMATECSS', 'https://cdn.jsdelivr.net/npm/animate.css'),
/*
|--------------------------------------------------------------------------
| ShowConfirmButton
|--------------------------------------------------------------------------
| If set to false, a "Confirm"-button will not be shown.
| It can be useful when you're using custom HTML description.
| This is for the all Modal windows.
| For specific modal just use the showConfirmButton() helper method.
|
*/
'show_confirm_button' => env('SWEET_ALERT_CONFIRM_BUTTON', true),
/*
|--------------------------------------------------------------------------
| ShowCloseButton
|--------------------------------------------------------------------------
| If set to true, a "Close"-button will be shown,
| which the user can click on to dismiss the modal.
| This is for the all Modal windows.
| For specific modal just use the showCloseButton() helper method.
|
*/
'show_close_button' => env('SWEET_ALERT_CLOSE_BUTTON', false),
/*
|--------------------------------------------------------------------------
| Toast position
|--------------------------------------------------------------------------
| Modal window or toast position, can be 'top',
| 'top-start', 'top-end', 'center', 'center-start',
| 'center-end', 'bottom', 'bottom-start', or 'bottom-end'.
| For specific modal just use the position() helper method.
|
*/
'toast_position' => env('SWEET_ALERT_TOAST_POSITION', 'top-end'),
/*
|--------------------------------------------------------------------------
| Middleware
|--------------------------------------------------------------------------
| Modal window or toast, config for the Middleware
|
*/
'middleware' => [
'toast_position' => env('SWEET_ALERT_MIDDLEWARE_TOAST_POSITION', 'top-end'),
'toast_close_button' => env('SWEET_ALERT_MIDDLEWARE_TOAST_CLOSE_BUTTON', true),
'alert_auto_close' => env('SWEET_ALERT_MIDDLEWARE_ALERT_AUTO_CLOSE', 5000),
'auto_display_error_messages' => env('SWEET_ALERT_AUTO_DISPLAY_ERROR_MESSAGES', false),
],
/*
|--------------------------------------------------------------------------
| Custom Class
|--------------------------------------------------------------------------
| A custom CSS class for the modal:
|
*/
'customClass' => [
'container' => env('SWEET_ALERT_CONTAINER_CLASS'),
'popup' => env('SWEET_ALERT_POPUP_CLASS'),
'header' => env('SWEET_ALERT_HEADER_CLASS'),
'title' => env('SWEET_ALERT_TITLE_CLASS'),
'closeButton' => env('SWEET_ALERT_CLOSE_BUTTON_CLASS'),
'icon' => env('SWEET_ALERT_ICON_CLASS'),
'image' => env('SWEET_ALERT_IMAGE_CLASS'),
'content' => env('SWEET_ALERT_CONTENT_CLASS'),
'input' => env('SWEET_ALERT_INPUT_CLASS'),
'actions' => env('SWEET_ALERT_ACTIONS_CLASS'),
'confirmButton' => env('SWEET_ALERT_CONFIRM_BUTTON_CLASS'),
'cancelButton' => env('SWEET_ALERT_CANCEL_BUTTON_CLASS'),
'footer' => env('SWEET_ALERT_FOOTER_CLASS'),
],
];
================================================
FILE: config/view.php
================================================
<?php
return [
/*
|--------------------------------------------------------------------------
| View Storage Paths
|--------------------------------------------------------------------------
|
| Most templating systems load templates from disk. Here you may specify
| an array of paths that should be checked for your views. Of course
| the usual Laravel view path has already been registered for you.
|
*/
'paths' => [
resource_path('views'),
],
/*
|--------------------------------------------------------------------------
| Compiled View Path
|--------------------------------------------------------------------------
|
| This option determines where all the compiled Blade templates will be
| stored for your application. Typically, this is within the storage
| directory. However, as usual, you are free to change this value.
|
*/
'compiled' => env(
'VIEW_COMPILED_PATH',
realpath(storage_path('framework/views'))
),
];
================================================
FILE: database/.gitignore
================================================
*.sqlite
*.sqlite-journal
================================================
FILE: database/factories/UserFactory.php
================================================
<?php
/** @var \Illuminate\Database\Eloquent\Factory $factory */
use App\User;
use Illuminate\Support\Str;
use Faker\Generator as Faker;
/*
|--------------------------------------------------------------------------
| Model Factories
|--------------------------------------------------------------------------
|
| This directory should contain each of the model factory definitions for
| your application. Factories provide a convenient way to generate new
| model instances for testing / seeding your application's database.
|
*/
$factory->define(User::class, function (Faker $faker) {
return [
'name' => $faker->name,
'email' => $faker->unique()->safeEmail,
'email_verified_at' => now(),
'password' => '$2y$10$92IXUNpkjO0rOQ5byMi.Ye4oKoEa3Ro9llC/.og/at2.uheWG/igi', // password
'remember_token' => Str::random(10),
];
});
================================================
FILE: database/migrations/2014_10_12_000000_create_users_table.php
================================================
<?php
use Illuminate\Support\Facades\Schema;
use Illuminate\Database\Schema\Blueprint;
use Illuminate\Database\Migrations\Migration;
class CreateUsersTable extends Migration
{
/**
* Run the migrations.
*
* @return void
*/
public function up()
{
Schema::create('users', function (Blueprint $table) {
$table->bigIncrements('id');
$table->string('name');
$table->string('email')->unique();
$table->timestamp('email_verified_at')->nullable();
$table->enum('auth',['Admin','Karyawan']);
$table->enum('status',['Active','Not Active'])->default('Active');
$table->string('nama_cabang')->nullable();
$table->string('alamat_cabang')->nullable();
$table->string('alamat')->nullable();
$table->string('no_telp')->nullable();
$table->string('password');
$table->rememberToken();
$table->timestamps();
});
}
/**
* Reverse the migrations.
*
* @return void
*/
public function down()
{
Schema::dropIfExists('users');
}
}
================================================
FILE: database/migrations/2014_10_12_100000_create_password_resets_table.php
================================================
<?php
use Illuminate\Support\Facades\Schema;
use Illuminate\Database\Schema\Blueprint;
use Illuminate\Database\Migrations\Migration;
class CreatePasswordResetsTable extends Migration
{
/**
* Run the migrations.
*
* @return void
*/
public function up()
{
Schema::create('password_resets', function (Blueprint $table) {
$table->string('email')->index();
$table->string('token');
$table->timestamp('created_at')->nullable();
});
}
/**
* Reverse the migrations.
*
* @return void
*/
public function down()
{
Schema::dropIfExists('password_resets');
}
}
================================================
FILE: database/migrations/2019_05_24_091904_create_transaksis_table.php
================================================
<?php
use Illuminate\Support\Facades\Schema;
use Illuminate\Database\Schema\Blueprint;
use Illuminate\Database\Migrations\Migration;
class CreateTransaksisTable extends Migration
{
/**
* Run the migrations.
*
* @return void
*/
public function up()
{
Schema::create('transaksis', function (Blueprint $table) {
$table->id();
$table->string('invoice');
$table->string('customer_id');
$table->string('user_id');
$table->string('tgl_transaksi');
$table->string('customer');
$table->string('email_customer');
$table->enum('status_order',['Process','Done','Delivery'])->default('Process');
$table->enum('status_payment',['Pending','Success']);
$table->integer('harga_id');
$table->string('kg');
$table->string('hari');
$table->string('harga');
$table->string('disc')->nullable();
$table->string('harga_akhir')->nullable();
$table->string('tgl');
$table->string('bulan');
$table->string('tahun');
$table->string('tgl_ambil')->nullable();
$table->timestamps();
});
}
/**
* Reverse the migrations.
*
* @return void
*/
public function down()
{
Schema::dropIfExists('transaksis');
}
}
================================================
FILE: database/migrations/2019_05_24_094505_create_hargas_table.php
================================================
<?php
use Illuminate\Support\Facades\Schema;
use Illuminate\Database\Schema\Blueprint;
use Illuminate\Database\Migrations\Migration;
class CreateHargasTable extends Migration
{
/**
* Run the migrations.
*
* @return void
*/
public function up()
{
Schema::create('hargas', function (Blueprint $table) {
$table->id();
$table->unsignedBigInteger('user_id');
$table->string('jenis');
$table->string('kg');
$table->string('harga');
$table->string('status');
$table->string('hari');
$table->timestamps();
$table->foreign('user_id')->references('id')->on('users')->onDelete('cascade')->onUpdate('cascade');
});
}
/**
* Reverse the migrations.
*
* @return void
*/
public function down()
{
Schema::dropIfExists('hargas');
}
}
================================================
FILE: database/migrations/2021_03_19_231220_create_page_settings_table.php
================================================
<?php
use Illuminate\Database\Migrations\Migration;
use Illuminate\Database\Schema\Blueprint;
use Illuminate\Support\Facades\Schema;
class CreatePageSettingsTable extends Migration
{
/**
* Run the migrations.
*
* @return void
*/
public function up()
{
Schema::create('page_settings', function (Blueprint $table) {
$table->id();
$table->string('judul')->nullable();
$table->string('img_hero')->nullable();
$table->string('tentang')->nullable();
$table->string('facebook')->nullable();
$table->string('instagram')->nullable();
$table->string('twitter')->nullable();
$table->string('whatsapp')->nullable();
$table->string('no_telp')->nullable();
$table->string('email')->nullable();
$table->timestamps();
});
}
/**
* Reverse the migrations.
*
* @return void
*/
public function down()
{
Schema::dropIfExists('page_settings');
}
}
================================================
FILE: database/migrations/2021_03_21_124956_add_theme_to_users_table.php
================================================
<?php
use Illuminate\Database\Migrations\Migration;
use Illuminate\Database\Schema\Blueprint;
use Illuminate\Support\Facades\Schema;
class AddThemeToUsersTable extends Migration
{
/**
* Run the migrations.
*
* @return void
*/
public function up()
{
Schema::table('users', function (Blueprint $table) {
$table->enum('theme',[0,1])->default(0)->after('no_telp');
});
}
/**
* Reverse the migrations.
*
* @return void
*/
public function down()
{
Schema::table('users', function (Blueprint $table) {
$table->dropColumn('theme');
$table->dropColumn('email_set');
});
}
}
================================================
FILE: database/migrations/2021_03_22_001021_create_laundry_settings_table.php
================================================
<?php
use Illuminate\Database\Migrations\Migration;
use Illuminate\Database\Schema\Blueprint;
use Illuminate\Support\Facades\Schema;
class CreateLaundrySettingsTable extends Migration
{
/**
* Run the migrations.
*
* @return void
*/
public function up()
{
Schema::create('laundry_settings', function (Blueprint $table) {
$table->id();
$table->unsignedBigInteger('user_id');
$table->integer('target_day')->default(0);
$table->integer('target_month')->default(0);
$table->integer('target_year')->default(0);
$table->timestamps();
$table->foreign('user_id')->references('id')->on('users')->onDelete('cascade')->onUpdate('cascade');
});
}
/**
* Reverse the migrations.
*
* @return void
*/
public function down()
{
Schema::dropIfExists('laundry_settings');
}
}
================================================
FILE: database/migrations/2021_05_07_100208_create_permission_tables.php
================================================
<?php
use Illuminate\Support\Facades\Schema;
use Illuminate\Database\Schema\Blueprint;
use Illuminate\Database\Migrations\Migration;
class CreatePermissionTables extends Migration
{
/**
* Run the migrations.
*
* @return void
*/
public function up()
{
$tableNames = config('permission.table_names');
$columnNames = config('permission.column_names');
if (empty($tableNames)) {
throw new \Exception('Error: config/permission.php not loaded. Run [php artisan config:clear] and try again.');
}
Schema::create($tableNames['permissions'], function (Blueprint $table) {
$table->bigIncrements('id');
$table->string('name'); // For MySQL 8.0 use string('name', 125);
$table->string('guard_name'); // For MySQL 8.0 use string('guard_name', 125);
$table->timestamps();
$table->unique(['name', 'guard_name']);
});
Schema::create($tableNames['roles'], function (Blueprint $table) {
$table->bigIncrements('id');
$table->string('name'); // For MySQL 8.0 use string('name', 125);
$table->string('guard_name'); // For MySQL 8.0 use string('guard_name', 125);
$table->timestamps();
$table->unique(['name', 'guard_name']);
});
Schema::create($tableNames['model_has_permissions'], function (Blueprint $table) use ($tableNames, $columnNames) {
$table->unsignedBigInteger('permission_id');
$table->string('model_type');
$table->unsignedBigInteger($columnNames['model_morph_key']);
$table->index([$columnNames['model_morph_key'], 'model_type'], 'model_has_permissions_model_id_model_type_index');
$table->foreign('permission_id')
->references('id')
->on($tableNames['permissions'])
->onDelete('cascade');
$table->primary(['permission_id', $columnNames['model_morph_key'], 'model_type'],
'model_has_permissions_permission_model_type_primary');
});
Schema::create($tableNames['model_has_roles'], function (Blueprint $table) use ($tableNames, $columnNames) {
$table->unsignedBigInteger('role_id');
$table->string('model_type');
$table->unsignedBigInteger($columnNames['model_morph_key']);
$table->index([$columnNames['model_morph_key'], 'model_type'], 'model_has_roles_model_id_model_type_index');
$table->foreign('role_id')
->references('id')
->on($tableNames['roles'])
->onDelete('cascade');
$table->primary(['role_id', $columnNames['model_morph_key'], 'model_type'],
'model_has_roles_role_model_type_primary');
});
Schema::create($tableNames['role_has_permissions'], function (Blueprint $table) use ($tableNames) {
$table->unsignedBigInteger('permission_id');
$table->unsignedBigInteger('role_id');
$table->foreign('permission_id')
->references('id')
->on($tableNames['permissions'])
->onDelete('cascade');
$table->foreign('role_id')
->references('id')
->on($tableNames['roles'])
->onDelete('cascade');
$table->primary(['permission_id', 'role_id'], 'role_has_permissions_permission_id_role_id_primary');
});
app('cache')
->store(config('permission.cache.store') != 'default' ? config('permission.cache.store') : null)
->forget(config('permission.cache.key'));
}
/**
* Reverse the migrations.
*
* @return void
*/
public function down()
{
$tableNames = config('permission.table_names');
if (empty($tableNames)) {
throw new \Exception('Error: config/permission.php not found and defaults could not be merged. Please publish the package configuration before proceeding, or drop the tab
gitextract_2jut_fdk/ ├── .circleci/ │ └── config.yml ├── .editorconfig ├── .gitattributes ├── .github/ │ ├── FUNDING.yml │ └── ISSUE_TEMPLATE/ │ ├── bug_report.md │ └── feature_request.md ├── .gitignore ├── .styleci.yml ├── CODE_OF_CONDUCT.md ├── LICENSE ├── app/ │ ├── Console/ │ │ ├── Commands/ │ │ │ └── CreateAdminCommand.php │ │ └── Kernel.php │ ├── Exceptions/ │ │ └── Handler.php │ ├── Exports/ │ │ └── LaporanExport.php │ ├── Helpers/ │ │ └── Model.php │ ├── Http/ │ │ ├── Controllers/ │ │ │ ├── Admin/ │ │ │ │ ├── AdminController.php │ │ │ │ ├── CustomerController.php │ │ │ │ ├── DokumentasiController.php │ │ │ │ ├── FinanceController.php │ │ │ │ ├── KaryawanController.php │ │ │ │ ├── SettingsController.php │ │ │ │ └── TransaksiController.php │ │ │ ├── Auth/ │ │ │ │ ├── ForgotPasswordController.php │ │ │ │ ├── LoginController.php │ │ │ │ ├── RegisterController.php │ │ │ │ ├── ResetPasswordController.php │ │ │ │ └── VerificationController.php │ │ │ ├── Controller.php │ │ │ ├── Customer/ │ │ │ │ ├── ProfileController.php │ │ │ │ └── SettingController.php │ │ │ ├── FrontController.php │ │ │ ├── HomeController.php │ │ │ └── Karyawan/ │ │ │ ├── CustomerController.php │ │ │ ├── InvoiceController.php │ │ │ ├── LaporanController.php │ │ │ ├── PelayananController.php │ │ │ ├── ProfileController.php │ │ │ └── SettingsController.php │ │ ├── Kernel.php │ │ ├── Middleware/ │ │ │ ├── Authenticate.php │ │ │ ├── CheckForMaintenanceMode.php │ │ │ ├── EncryptCookies.php │ │ │ ├── RedirectIfAuthenticated.php │ │ │ ├── TrimStrings.php │ │ │ ├── TrustProxies.php │ │ │ └── VerifyCsrfToken.php │ │ └── Requests/ │ │ ├── AddCustomerRequest.php │ │ ├── AddKaryawanRequest.php │ │ ├── AddOrderRequest.php │ │ ├── HargaRequest.php │ │ ├── LoginRequest.php │ │ └── UpdateProfilRequest.php │ ├── Jobs/ │ │ ├── DoneCustomerJob.php │ │ ├── OrderCustomerJob.php │ │ └── RegisterCustomerJob.php │ ├── Mail/ │ │ ├── DoneCustomer.php │ │ ├── OrderCustomer.php │ │ └── RegisterCustomer.php │ ├── Models/ │ │ ├── Bank.php │ │ ├── DataBank.php │ │ ├── LaundrySetting.php │ │ ├── Notification.php │ │ ├── PageSettings.php │ │ ├── User.php │ │ ├── harga.php │ │ ├── notifications_setting.php │ │ └── transaksi.php │ ├── Notifications/ │ │ ├── OrderMasuk.php │ │ └── OrderSelesai.php │ └── Providers/ │ ├── AppServiceProvider.php │ ├── AuthServiceProvider.php │ ├── BroadcastServiceProvider.php │ ├── EventServiceProvider.php │ └── RouteServiceProvider.php ├── artisan ├── bootstrap/ │ ├── app.php │ └── cache/ │ └── .gitignore ├── composer.json ├── config/ │ ├── app.php │ ├── auth.php │ ├── broadcasting.php │ ├── cache.php │ ├── database.php │ ├── excel.php │ ├── filesystems.php │ ├── hashing.php │ ├── logging.php │ ├── mail.php │ ├── permission.php │ ├── queue.php │ ├── services.php │ ├── session.php │ ├── sweet-alert.php │ ├── sweetalert.php │ └── view.php ├── database/ │ ├── .gitignore │ ├── factories/ │ │ └── UserFactory.php │ ├── migrations/ │ │ ├── 2014_10_12_000000_create_users_table.php │ │ ├── 2014_10_12_100000_create_password_resets_table.php │ │ ├── 2019_05_24_091904_create_transaksis_table.php │ │ ├── 2019_05_24_094505_create_hargas_table.php │ │ ├── 2021_03_19_231220_create_page_settings_table.php │ │ ├── 2021_03_21_124956_add_theme_to_users_table.php │ │ ├── 2021_03_22_001021_create_laundry_settings_table.php │ │ ├── 2021_05_07_100208_create_permission_tables.php │ │ ├── 2021_05_07_135323_create_data_banks_table.php │ │ ├── 2021_05_07_155403_add_field_in_transaksi.php │ │ ├── 2021_05_11_130732_create_notifications_settings_table.php │ │ ├── 2021_08_08_100000_create_banks_tables.php │ │ ├── 2021_12_30_231550_add_field_username_telegram_channel_to_notifications_settings_table.php │ │ ├── 2022_01_28_171610_add_field_foto_to_users_table.php │ │ ├── 2022_01_29_185408_add_field_token_wa_to_notifications_settings_table.php │ │ ├── 2022_01_31_105111_update_field_auth_in_users_table.php │ │ ├── 2022_01_31_112034_add_field_karyawan_id_wa_in_users_table.php │ │ ├── 2022_02_02_220553_create_jobs_table.php │ │ ├── 2022_02_02_231121_create_failed_jobs_table.php │ │ ├── 2022_02_03_144826_add_field_point_in_users_table.php │ │ └── 2022_09_27_125933_create_notifications_table.php │ └── seeders/ │ ├── DatabaseSeeder.php │ ├── IndoBankSeeder.php │ ├── RoleSeeder.php │ ├── SettingPageSeeder.php │ └── addRoleSeeder.php ├── package.json ├── phpunit.xml ├── public/ │ ├── .htaccess │ ├── backend/ │ │ ├── css/ │ │ │ ├── bootstrap-extended.css │ │ │ ├── bootstrap.css │ │ │ ├── colors.css │ │ │ ├── components.css │ │ │ ├── core/ │ │ │ │ ├── colors/ │ │ │ │ │ ├── palette-gradient.css │ │ │ │ │ ├── palette-noui.css │ │ │ │ │ └── palette-variables.css │ │ │ │ ├── menu/ │ │ │ │ │ └── menu-types/ │ │ │ │ │ ├── horizontal-menu.css │ │ │ │ │ ├── vertical-menu.css │ │ │ │ │ └── vertical-overlay-menu.css │ │ │ │ └── mixins/ │ │ │ │ ├── alert.css │ │ │ │ ├── hex2rgb.css │ │ │ │ ├── main-menu-mixin.css │ │ │ │ └── transitions.css │ │ │ ├── pages/ │ │ │ │ ├── aggrid.css │ │ │ │ ├── app-chat.css │ │ │ │ ├── app-ecommerce-details.css │ │ │ │ ├── app-ecommerce-shop.css │ │ │ │ ├── app-email.css │ │ │ │ ├── app-todo.css │ │ │ │ ├── app-user.css │ │ │ │ ├── app-users.css │ │ │ │ ├── authentication.css │ │ │ │ ├── card-analytics.css │ │ │ │ ├── colors.css │ │ │ │ ├── coming-soon.css │ │ │ │ ├── dashboard-analytics.css │ │ │ │ ├── dashboard-ecommerce.css │ │ │ │ ├── data-list-view.css │ │ │ │ ├── error.css │ │ │ │ ├── faq.css │ │ │ │ ├── invoice.css │ │ │ │ ├── knowledge-base.css │ │ │ │ ├── page-auth.css │ │ │ │ ├── register.css │ │ │ │ ├── search.css │ │ │ │ ├── timeline.css │ │ │ │ ├── user-settings.css │ │ │ │ └── users.css │ │ │ ├── plugins/ │ │ │ │ ├── animate/ │ │ │ │ │ └── animate.css │ │ │ │ ├── extensions/ │ │ │ │ │ ├── context-menu.css │ │ │ │ │ ├── drag-and-drop.css │ │ │ │ │ ├── media-plyr.css │ │ │ │ │ ├── noui-slider.css │ │ │ │ │ ├── swiper.css │ │ │ │ │ └── toastr.css │ │ │ │ ├── forms/ │ │ │ │ │ ├── extended/ │ │ │ │ │ │ └── typeahed.css │ │ │ │ │ ├── form-inputs-groups.css │ │ │ │ │ ├── validation/ │ │ │ │ │ │ └── form-validation.css │ │ │ │ │ └── wizard.css │ │ │ │ ├── loaders/ │ │ │ │ │ ├── animations/ │ │ │ │ │ │ ├── ball-beat.css │ │ │ │ │ │ ├── ball-clip-rotate-multiple.css │ │ │ │ │ │ ├── ball-clip-rotate-pulse.css │ │ │ │ │ │ ├── ball-clip-rotate.css │ │ │ │ │ │ ├── ball-grid-beat.css │ │ │ │ │ │ ├── ball-grid-pulse.css │ │ │ │ │ │ ├── ball-pulse-rise.css │ │ │ │ │ │ ├── ball-pulse-round.css │ │ │ │ │ │ ├── ball-pulse-sync.css │ │ │ │ │ │ ├── ball-pulse.css │ │ │ │ │ │ ├── ball-rotate.css │ │ │ │ │ │ ├── ball-scale-multiple.css │ │ │ │ │ │ ├── ball-scale-random.css │ │ │ │ │ │ ├── ball-scale-ripple-multiple.css │ │ │ │ │ │ ├── ball-scale-ripple.css │ │ │ │ │ │ ├── ball-scale.css │ │ │ │ │ │ ├── ball-spin-fade-loader.css │ │ │ │ │ │ ├── ball-spin-loader.css │ │ │ │ │ │ ├── ball-triangle-trace.css │ │ │ │ │ │ ├── ball-zig-zag-deflect.css │ │ │ │ │ │ ├── ball-zig-zag.css │ │ │ │ │ │ ├── cube-transition.css │ │ │ │ │ │ ├── line-scale-pulse-out-rapid.css │ │ │ │ │ │ ├── line-scale-pulse-out.css │ │ │ │ │ │ ├── line-scale-random.css │ │ │ │ │ │ ├── line-scale.css │ │ │ │ │ │ ├── line-spin-fade-loader.css │ │ │ │ │ │ ├── pacman.css │ │ │ │ │ │ ├── semi-circle-spin.css │ │ │ │ │ │ ├── square-spin.css │ │ │ │ │ │ └── triangle-skew-spin.css │ │ │ │ │ └── loaders.css │ │ │ │ ├── pickers/ │ │ │ │ │ └── bootstrap-datetimepicker-build.css │ │ │ │ └── ui/ │ │ │ │ └── coming-soon.css │ │ │ └── themes/ │ │ │ ├── dark-layout.css │ │ │ └── semi-dark-layout.css │ │ ├── fonts/ │ │ │ ├── feather/ │ │ │ │ └── iconfont.css │ │ │ ├── flag-icon-css/ │ │ │ │ ├── LICENSE │ │ │ │ ├── README.md │ │ │ │ ├── css/ │ │ │ │ │ └── flag-icon.css │ │ │ │ └── sass/ │ │ │ │ ├── flag-icon-base.scss │ │ │ │ ├── flag-icon-list.scss │ │ │ │ ├── flag-icon-more.scss │ │ │ │ ├── flag-icon.scss │ │ │ │ └── variables.scss │ │ │ └── font-awesome/ │ │ │ ├── css/ │ │ │ │ └── font-awesome.css │ │ │ └── fonts/ │ │ │ └── FontAwesome.otf │ │ ├── js/ │ │ │ ├── core/ │ │ │ │ ├── app-menu.js │ │ │ │ └── app.js │ │ │ └── scripts/ │ │ │ ├── ag-grid/ │ │ │ │ └── ag-grid.js │ │ │ ├── cards/ │ │ │ │ ├── card-analytics.js │ │ │ │ └── card-statistics.js │ │ │ ├── charts/ │ │ │ │ ├── chart-apex.js │ │ │ │ ├── chart-chartjs.js │ │ │ │ ├── chart-echart.js │ │ │ │ └── gmaps/ │ │ │ │ └── maps.js │ │ │ ├── components.js │ │ │ ├── customizer.js │ │ │ ├── datatables/ │ │ │ │ └── datatable.js │ │ │ ├── documentation.js │ │ │ ├── editors/ │ │ │ │ └── editor-quill.js │ │ │ ├── extensions/ │ │ │ │ ├── context-menu.js │ │ │ │ ├── copy-to-clipboard.js │ │ │ │ ├── drag-drop.js │ │ │ │ ├── dropzone.js │ │ │ │ ├── fullcalendar.js │ │ │ │ ├── i18n.js │ │ │ │ ├── media-plyr.js │ │ │ │ ├── noui-slider.js │ │ │ │ ├── sweet-alerts.js │ │ │ │ ├── swiper.js │ │ │ │ ├── toastr.js │ │ │ │ ├── tour.js │ │ │ │ └── unslider.js │ │ │ ├── footer.js │ │ │ ├── forms/ │ │ │ │ ├── basic-inputs.js │ │ │ │ ├── form-maxlength.js │ │ │ │ ├── form-tooltip-valid.js │ │ │ │ ├── number-input.js │ │ │ │ ├── select/ │ │ │ │ │ └── form-select2.js │ │ │ │ ├── validation/ │ │ │ │ │ └── form-validation.js │ │ │ │ └── wizard-steps.js │ │ │ ├── modal/ │ │ │ │ └── components-modal.js │ │ │ ├── navs/ │ │ │ │ └── navs.js │ │ │ ├── pages/ │ │ │ │ ├── 3-columns-left-sidebar.js │ │ │ │ ├── account-setting.js │ │ │ │ ├── app-chat.js │ │ │ │ ├── app-ecommerce-details.js │ │ │ │ ├── app-ecommerce-shop.js │ │ │ │ ├── app-email.js │ │ │ │ ├── app-todo.js │ │ │ │ ├── app-user.js │ │ │ │ ├── bootstrap-toast.js │ │ │ │ ├── coming-soon.js │ │ │ │ ├── content-sidebar.js │ │ │ │ ├── dashboard-analytics.js │ │ │ │ ├── dashboard-ecommerce.js │ │ │ │ ├── faq-kb.js │ │ │ │ ├── invoice.js │ │ │ │ ├── page-auth-reset-password.js │ │ │ │ ├── sk-content-sidebar.js │ │ │ │ ├── user-profile.js │ │ │ │ └── user-settings.js │ │ │ ├── pagination/ │ │ │ │ └── pagination.js │ │ │ ├── pickers/ │ │ │ │ └── dateTime/ │ │ │ │ └── pick-a-datetime.js │ │ │ ├── popover/ │ │ │ │ └── popover.js │ │ │ ├── tooltip/ │ │ │ │ └── tooltip.js │ │ │ └── ui/ │ │ │ └── data-list-view.js │ │ └── vendors/ │ │ ├── css/ │ │ │ ├── animate/ │ │ │ │ └── animate.css │ │ │ ├── charts/ │ │ │ │ └── apexcharts.css │ │ │ ├── documentation.css │ │ │ ├── extensions/ │ │ │ │ ├── dataTables.checkboxes.css │ │ │ │ ├── pace.css │ │ │ │ ├── plyr.css │ │ │ │ ├── shepherd-theme-default.css │ │ │ │ ├── tether-theme-arrows.css │ │ │ │ ├── toastr.css │ │ │ │ └── unslider.css │ │ │ ├── forms/ │ │ │ │ ├── select/ │ │ │ │ │ └── select2.css │ │ │ │ ├── spinner/ │ │ │ │ │ └── jquery.bootstrap-touchspin.css │ │ │ │ └── toggle/ │ │ │ │ └── switchery.css │ │ │ ├── modal/ │ │ │ │ ├── facebook.css │ │ │ │ ├── google.css │ │ │ │ └── twitter.css │ │ │ ├── pickers/ │ │ │ │ └── pickadate/ │ │ │ │ ├── classic.css │ │ │ │ ├── classic.date.css │ │ │ │ ├── classic.time.css │ │ │ │ ├── default.css │ │ │ │ ├── default.time.css │ │ │ │ └── pickadate.css │ │ │ ├── tables/ │ │ │ │ ├── ag-grid/ │ │ │ │ │ ├── ag-grid.css │ │ │ │ │ └── ag-theme-material.css │ │ │ │ └── datatable/ │ │ │ │ └── extensions/ │ │ │ │ └── dataTables.checkboxes.css │ │ │ └── ui/ │ │ │ └── prism-treeview.css │ │ └── js/ │ │ ├── charts/ │ │ │ ├── apexcharts.js │ │ │ └── echarts/ │ │ │ └── echarts.js │ │ ├── extensions/ │ │ │ ├── lang-all.js │ │ │ ├── locale-all.js │ │ │ ├── transition.js │ │ │ └── wNumb.js │ │ ├── forms/ │ │ │ ├── extended/ │ │ │ │ ├── maxlength/ │ │ │ │ │ └── bootstrap-maxlength.js │ │ │ │ └── typeahead/ │ │ │ │ └── handlebars.js │ │ │ ├── select/ │ │ │ │ ├── select2.full.js │ │ │ │ └── select2.js │ │ │ ├── spinner/ │ │ │ │ └── jquery.bootstrap-touchspin.js │ │ │ ├── toggle/ │ │ │ │ └── switchery.js │ │ │ └── validation/ │ │ │ └── jqBootstrapValidation.js │ │ ├── media/ │ │ │ ├── plyr.js │ │ │ └── plyr.polyfilled.js │ │ ├── pickers/ │ │ │ └── pickadate/ │ │ │ ├── legacy.js │ │ │ ├── picker.date.js │ │ │ ├── picker.js │ │ │ └── picker.time.js │ │ ├── tables/ │ │ │ ├── ag-grid/ │ │ │ │ └── ag-grid-community.min.noStyle.js │ │ │ └── datatable/ │ │ │ └── vfs_fonts.js │ │ ├── ui/ │ │ │ ├── affix.js │ │ │ ├── jquery-sliding-menu.js │ │ │ ├── jquery.matchHeight-min.js │ │ │ ├── jquery.sticky.js │ │ │ └── prism-treeview.js │ │ └── vendors.js │ ├── frontend/ │ │ ├── crossbrowserjs/ │ │ │ └── html5shiv.js │ │ ├── css/ │ │ │ └── forum/ │ │ │ ├── style-responsive.css │ │ │ ├── style.css │ │ │ └── theme/ │ │ │ ├── blue.css │ │ │ ├── default.css │ │ │ ├── orange.css │ │ │ ├── purple.css │ │ │ └── red.css │ │ ├── js/ │ │ │ ├── forum/ │ │ │ │ ├── apps.js │ │ │ │ └── forum-details-page.js │ │ │ └── swal/ │ │ │ └── sweetalert2.js │ │ └── plugins/ │ │ ├── animate/ │ │ │ └── animate.css │ │ ├── bootstrap3/ │ │ │ ├── css/ │ │ │ │ ├── bootstrap-theme.css │ │ │ │ └── bootstrap.css │ │ │ └── js/ │ │ │ ├── bootstrap.js │ │ │ └── npm.js │ │ ├── bootstrap4/ │ │ │ ├── css/ │ │ │ │ ├── bootstrap-grid.css │ │ │ │ ├── bootstrap-reboot.css │ │ │ │ └── bootstrap.css │ │ │ └── js/ │ │ │ ├── bootstrap.bundle.js │ │ │ └── bootstrap.js │ │ ├── font-awesome/ │ │ │ ├── css/ │ │ │ │ └── font-awesome.css │ │ │ ├── fonts/ │ │ │ │ └── FontAwesome.otf │ │ │ ├── less/ │ │ │ │ ├── animated.less │ │ │ │ ├── bordered-pulled.less │ │ │ │ ├── core.less │ │ │ │ ├── fixed-width.less │ │ │ │ ├── font-awesome.less │ │ │ │ ├── icons.less │ │ │ │ ├── larger.less │ │ │ │ ├── list.less │ │ │ │ ├── mixins.less │ │ │ │ ├── path.less │ │ │ │ ├── rotated-flipped.less │ │ │ │ ├── screen-reader.less │ │ │ │ ├── stacked.less │ │ │ │ └── variables.less │ │ │ └── scss/ │ │ │ ├── _animated.scss │ │ │ ├── _bordered-pulled.scss │ │ │ ├── _core.scss │ │ │ ├── _fixed-width.scss │ │ │ ├── _icons.scss │ │ │ ├── _larger.scss │ │ │ ├── _list.scss │ │ │ ├── _mixins.scss │ │ │ ├── _path.scss │ │ │ ├── _rotated-flipped.scss │ │ │ ├── _screen-reader.scss │ │ │ ├── _stacked.scss │ │ │ ├── _variables.scss │ │ │ └── font-awesome.scss │ │ ├── jquery/ │ │ │ ├── jquery-1.9.1.js │ │ │ └── jquery-migrate-1.1.0.js │ │ ├── jquery-cookie/ │ │ │ └── jquery.cookie.js │ │ ├── js-cookie/ │ │ │ └── js.cookie.js │ │ ├── pace/ │ │ │ ├── .hsdoc │ │ │ ├── Gruntfile.coffee │ │ │ ├── LICENSE │ │ │ ├── README.md │ │ │ ├── bower.json │ │ │ ├── docs/ │ │ │ │ ├── intro.md │ │ │ │ ├── lib/ │ │ │ │ │ ├── color.js │ │ │ │ │ ├── themes.coffee │ │ │ │ │ └── themes.js │ │ │ │ ├── resources/ │ │ │ │ │ ├── barber-pole-orange.css │ │ │ │ │ ├── flash-white.css │ │ │ │ │ └── templates/ │ │ │ │ │ ├── index.jade │ │ │ │ │ └── page.jade │ │ │ │ └── welcome/ │ │ │ │ └── index.html │ │ │ ├── install.json │ │ │ ├── pace.coffee │ │ │ ├── pace.js │ │ │ ├── package.json │ │ │ ├── templates/ │ │ │ │ ├── pace-theme-barber-shop.tmpl.css │ │ │ │ ├── pace-theme-big-counter.tmpl.css │ │ │ │ ├── pace-theme-bounce.tmpl.css │ │ │ │ ├── pace-theme-center-atom.tmpl.css │ │ │ │ ├── pace-theme-center-circle.tmpl.css │ │ │ │ ├── pace-theme-center-radar.tmpl.css │ │ │ │ ├── pace-theme-center-simple.tmpl.css │ │ │ │ ├── pace-theme-corner-indicator.tmpl.css │ │ │ │ ├── pace-theme-fill-left.tmpl.css │ │ │ │ ├── pace-theme-flash.tmpl.css │ │ │ │ ├── pace-theme-flat-top.tmpl.css │ │ │ │ ├── pace-theme-loading-bar.tmpl.css │ │ │ │ ├── pace-theme-mac-osx.tmpl.css │ │ │ │ └── pace-theme-minimal.tmpl.css │ │ │ ├── tests/ │ │ │ │ └── demo.html │ │ │ └── themes/ │ │ │ ├── black/ │ │ │ │ ├── pace-theme-barber-shop.css │ │ │ │ ├── pace-theme-big-counter.css │ │ │ │ ├── pace-theme-bounce.css │ │ │ │ ├── pace-theme-center-atom.css │ │ │ │ ├── pace-theme-center-circle.css │ │ │ │ ├── pace-theme-center-radar.css │ │ │ │ ├── pace-theme-center-simple.css │ │ │ │ ├── pace-theme-corner-indicator.css │ │ │ │ ├── pace-theme-fill-left.css │ │ │ │ ├── pace-theme-flash.css │ │ │ │ ├── pace-theme-flat-top.css │ │ │ │ ├── pace-theme-loading-bar.css │ │ │ │ ├── pace-theme-mac-osx.css │ │ │ │ └── pace-theme-minimal.css │ │ │ ├── blue/ │ │ │ │ ├── pace-theme-barber-shop.css │ │ │ │ ├── pace-theme-big-counter.css │ │ │ │ ├── pace-theme-bounce.css │ │ │ │ ├── pace-theme-center-atom.css │ │ │ │ ├── pace-theme-center-circle.css │ │ │ │ ├── pace-theme-center-radar.css │ │ │ │ ├── pace-theme-center-simple.css │ │ │ │ ├── pace-theme-corner-indicator.css │ │ │ │ ├── pace-theme-fill-left.css │ │ │ │ ├── pace-theme-flash.css │ │ │ │ ├── pace-theme-flat-top.css │ │ │ │ ├── pace-theme-loading-bar.css │ │ │ │ ├── pace-theme-mac-osx.css │ │ │ │ └── pace-theme-minimal.css │ │ │ ├── green/ │ │ │ │ ├── pace-theme-barber-shop.css │ │ │ │ ├── pace-theme-big-counter.css │ │ │ │ ├── pace-theme-bounce.css │ │ │ │ ├── pace-theme-center-atom.css │ │ │ │ ├── pace-theme-center-circle.css │ │ │ │ ├── pace-theme-center-radar.css │ │ │ │ ├── pace-theme-center-simple.css │ │ │ │ ├── pace-theme-corner-indicator.css │ │ │ │ ├── pace-theme-fill-left.css │ │ │ │ ├── pace-theme-flash.css │ │ │ │ ├── pace-theme-flat-top.css │ │ │ │ ├── pace-theme-loading-bar.css │ │ │ │ ├── pace-theme-mac-osx.css │ │ │ │ └── pace-theme-minimal.css │ │ │ ├── orange/ │ │ │ │ ├── pace-theme-barber-shop.css │ │ │ │ ├── pace-theme-big-counter.css │ │ │ │ ├── pace-theme-bounce.css │ │ │ │ ├── pace-theme-center-atom.css │ │ │ │ ├── pace-theme-center-circle.css │ │ │ │ ├── pace-theme-center-radar.css │ │ │ │ ├── pace-theme-center-simple.css │ │ │ │ ├── pace-theme-corner-indicator.css │ │ │ │ ├── pace-theme-fill-left.css │ │ │ │ ├── pace-theme-flash.css │ │ │ │ ├── pace-theme-flat-top.css │ │ │ │ ├── pace-theme-loading-bar.css │ │ │ │ ├── pace-theme-mac-osx.css │ │ │ │ └── pace-theme-minimal.css │ │ │ ├── pace-theme-barber-shop.css │ │ │ ├── pace-theme-big-counter.css │ │ │ ├── pace-theme-bounce.css │ │ │ ├── pace-theme-center-atom.css │ │ │ ├── pace-theme-center-circle.css │ │ │ ├── pace-theme-center-radar.css │ │ │ ├── pace-theme-center-simple.css │ │ │ ├── pace-theme-corner-indicator.css │ │ │ ├── pace-theme-fill-left.css │ │ │ ├── pace-theme-flash.css │ │ │ ├── pace-theme-flat-top.css │ │ │ ├── pace-theme-loading-bar.css │ │ │ ├── pace-theme-mac-osx.css │ │ │ ├── pace-theme-minimal.css │ │ │ ├── pink/ │ │ │ │ ├── pace-theme-barber-shop.css │ │ │ │ ├── pace-theme-big-counter.css │ │ │ │ ├── pace-theme-bounce.css │ │ │ │ ├── pace-theme-center-atom.css │ │ │ │ ├── pace-theme-center-circle.css │ │ │ │ ├── pace-theme-center-radar.css │ │ │ │ ├── pace-theme-center-simple.css │ │ │ │ ├── pace-theme-corner-indicator.css │ │ │ │ ├── pace-theme-fill-left.css │ │ │ │ ├── pace-theme-flash.css │ │ │ │ ├── pace-theme-flat-top.css │ │ │ │ ├── pace-theme-loading-bar.css │ │ │ │ ├── pace-theme-mac-osx.css │ │ │ │ └── pace-theme-minimal.css │ │ │ ├── purple/ │ │ │ │ ├── pace-theme-barber-shop.css │ │ │ │ ├── pace-theme-big-counter.css │ │ │ │ ├── pace-theme-bounce.css │ │ │ │ ├── pace-theme-center-atom.css │ │ │ │ ├── pace-theme-center-circle.css │ │ │ │ ├── pace-theme-center-radar.css │ │ │ │ ├── pace-theme-center-simple.css │ │ │ │ ├── pace-theme-corner-indicator.css │ │ │ │ ├── pace-theme-fill-left.css │ │ │ │ ├── pace-theme-flash.css │ │ │ │ ├── pace-theme-flat-top.css │ │ │ │ ├── pace-theme-loading-bar.css │ │ │ │ ├── pace-theme-mac-osx.css │ │ │ │ └── pace-theme-minimal.css │ │ │ ├── red/ │ │ │ │ ├── pace-theme-barber-shop.css │ │ │ │ ├── pace-theme-big-counter.css │ │ │ │ ├── pace-theme-bounce.css │ │ │ │ ├── pace-theme-center-atom.css │ │ │ │ ├── pace-theme-center-circle.css │ │ │ │ ├── pace-theme-center-radar.css │ │ │ │ ├── pace-theme-center-simple.css │ │ │ │ ├── pace-theme-corner-indicator.css │ │ │ │ ├── pace-theme-fill-left.css │ │ │ │ ├── pace-theme-flash.css │ │ │ │ ├── pace-theme-flat-top.css │ │ │ │ ├── pace-theme-loading-bar.css │ │ │ │ ├── pace-theme-mac-osx.css │ │ │ │ └── pace-theme-minimal.css │ │ │ ├── silver/ │ │ │ │ ├── pace-theme-barber-shop.css │ │ │ │ ├── pace-theme-big-counter.css │ │ │ │ ├── pace-theme-bounce.css │ │ │ │ ├── pace-theme-center-atom.css │ │ │ │ ├── pace-theme-center-circle.css │ │ │ │ ├── pace-theme-center-radar.css │ │ │ │ ├── pace-theme-center-simple.css │ │ │ │ ├── pace-theme-corner-indicator.css │ │ │ │ ├── pace-theme-fill-left.css │ │ │ │ ├── pace-theme-flash.css │ │ │ │ ├── pace-theme-flat-top.css │ │ │ │ ├── pace-theme-loading-bar.css │ │ │ │ ├── pace-theme-mac-osx.css │ │ │ │ └── pace-theme-minimal.css │ │ │ ├── white/ │ │ │ │ ├── pace-theme-barber-shop.css │ │ │ │ ├── pace-theme-big-counter.css │ │ │ │ ├── pace-theme-bounce.css │ │ │ │ ├── pace-theme-center-atom.css │ │ │ │ ├── pace-theme-center-circle.css │ │ │ │ ├── pace-theme-center-radar.css │ │ │ │ ├── pace-theme-center-simple.css │ │ │ │ ├── pace-theme-corner-indicator.css │ │ │ │ ├── pace-theme-fill-left.css │ │ │ │ ├── pace-theme-flash.css │ │ │ │ ├── pace-theme-flat-top.css │ │ │ │ ├── pace-theme-loading-bar.css │ │ │ │ ├── pace-theme-mac-osx.css │ │ │ │ └── pace-theme-minimal.css │ │ │ └── yellow/ │ │ │ ├── pace-theme-barber-shop.css │ │ │ ├── pace-theme-big-counter.css │ │ │ ├── pace-theme-bounce.css │ │ │ ├── pace-theme-center-atom.css │ │ │ ├── pace-theme-center-circle.css │ │ │ ├── pace-theme-center-radar.css │ │ │ ├── pace-theme-center-simple.css │ │ │ ├── pace-theme-corner-indicator.css │ │ │ ├── pace-theme-fill-left.css │ │ │ ├── pace-theme-flash.css │ │ │ ├── pace-theme-flat-top.css │ │ │ ├── pace-theme-loading-bar.css │ │ │ ├── pace-theme-mac-osx.css │ │ │ └── pace-theme-minimal.css │ │ └── scrollMonitor/ │ │ ├── MIT-LICENSE.txt │ │ ├── README.md │ │ ├── bower.json │ │ ├── demos/ │ │ │ ├── fixed.html │ │ │ ├── list.html │ │ │ ├── listdata.json │ │ │ ├── scoreboard.html │ │ │ └── stress.html │ │ ├── package.json │ │ └── scrollMonitor.js │ ├── index.php │ ├── js/ │ │ └── app.js │ ├── mix-manifest.json │ ├── robots.txt │ └── web.config ├── readme.md ├── resources/ │ ├── js/ │ │ ├── app.js │ │ ├── bootstrap.js │ │ └── components/ │ │ ├── Contentone.vue │ │ └── contentwo.vue │ ├── lang/ │ │ └── en/ │ │ ├── auth.php │ │ ├── pagination.php │ │ ├── passwords.php │ │ └── validation.php │ ├── sass/ │ │ ├── _variables.scss │ │ └── app.scss │ └── views/ │ ├── auth/ │ │ ├── login.blade.php │ │ ├── passwords/ │ │ │ ├── email.blade.php │ │ │ └── reset.blade.php │ │ └── verify.blade.php │ ├── customer/ │ │ ├── index.blade.php │ │ ├── profile/ │ │ │ └── index.blade.php │ │ └── setting/ │ │ └── index.blade.php │ ├── emails/ │ │ ├── done.blade.php │ │ ├── orders.blade.php │ │ └── register.blade.php │ ├── errors/ │ │ ├── 404.blade.php │ │ └── 500.blade.php │ ├── frontend/ │ │ ├── banner.blade.php │ │ ├── content.blade.php │ │ ├── footer.blade.php │ │ ├── header.blade.php │ │ ├── index.blade.php │ │ └── modal.blade.php │ ├── karyawan/ │ │ ├── customer/ │ │ │ ├── create.blade.php │ │ │ ├── detail.blade.php │ │ │ └── index.blade.php │ │ ├── index.blade.php │ │ ├── laporan/ │ │ │ ├── cetak.blade.php │ │ │ ├── excelExport.blade.php │ │ │ ├── index.blade.php │ │ │ └── invoice.blade.php │ │ ├── profile/ │ │ │ └── index.blade.php │ │ ├── settings/ │ │ │ └── index.blade.php │ │ └── transaksi/ │ │ ├── addorder.blade.php │ │ └── order.blade.php │ ├── layouts/ │ │ ├── auth.blade.php │ │ ├── backend.blade.php │ │ ├── error.blade.php │ │ └── frontend.blade.php │ └── modul_admin/ │ ├── customer/ │ │ ├── index.blade.php │ │ ├── infoCustomer.blade.php │ │ └── jmltransaksi.blade.php │ ├── doc/ │ │ ├── index.blade.php │ │ ├── notifikasi.blade.php │ │ ├── penggunaan.blade.php │ │ ├── tentang.blade.php │ │ └── version.blade.php │ ├── finance/ │ │ └── index.blade.php │ ├── index.blade.php │ ├── laundri/ │ │ ├── editharga.blade.php │ │ └── harga.blade.php │ ├── pengguna/ │ │ ├── addkry.blade.php │ │ └── kry.blade.php │ ├── setting/ │ │ ├── index.blade.php │ │ ├── modal.blade.php │ │ └── profile.blade.php │ └── transaksi/ │ ├── index.blade.php │ └── invoice.blade.php ├── routes/ │ ├── api.php │ ├── channels.php │ ├── console.php │ └── web.php ├── server.php ├── storage/ │ ├── app/ │ │ └── .gitignore │ ├── framework/ │ │ ├── .gitignore │ │ ├── cache/ │ │ │ └── .gitignore │ │ ├── sessions/ │ │ │ └── .gitignore │ │ ├── testing/ │ │ │ └── .gitignore │ │ └── views/ │ │ └── .gitignore │ └── logs/ │ └── .gitignore ├── stubs/ │ ├── export.model.stub │ ├── export.plain.stub │ ├── export.query-model.stub │ ├── export.query.stub │ ├── import.collection.stub │ └── import.model.stub ├── tests/ │ ├── CreatesApplication.php │ ├── Feature/ │ │ └── ExampleTest.php │ ├── TestCase.php │ └── Unit/ │ └── ExampleTest.php └── webpack.mix.js
Showing preview only (320K chars total). Download the full file or copy to clipboard to get everything.
SYMBOL INDEX (4151 symbols across 141 files)
FILE: app/Console/Commands/CreateAdminCommand.php
class CreateAdminCommand (line 14) | class CreateAdminCommand extends Command
method handle (line 35) | public function handle()
FILE: app/Console/Kernel.php
class Kernel (line 8) | class Kernel extends ConsoleKernel
method schedule (line 25) | protected function schedule(Schedule $schedule)
method commands (line 36) | protected function commands()
FILE: app/Exceptions/Handler.php
class Handler (line 8) | class Handler extends ExceptionHandler
method report (line 37) | public function report(Throwable $exception)
method render (line 51) | public function render($request, Throwable $exception)
FILE: app/Exports/LaporanExport.php
class LaporanExport (line 10) | class LaporanExport implements FromView
method view (line 15) | public function view(): View
FILE: app/Helpers/Model.php
class Rupiah (line 5) | class Rupiah {
method getRupiah (line 6) | public static function getRupiah($value) {
function email_customer (line 15) | function email_customer($id=0)
function namaCustomer (line 27) | function namaCustomer($id=0)
function setNotificationEmail (line 39) | function setNotificationEmail($id='')
function setNotificationTelegramIn (line 51) | function setNotificationTelegramIn($id='')
function setNotificationTelegramFinish (line 63) | function setNotificationTelegramFinish($id='')
function telegram_channel_masuk (line 75) | function telegram_channel_masuk()
function telegram_channel_selesai (line 87) | function telegram_channel_selesai()
function setNotificationWhatsappOrderSelesai (line 99) | function setNotificationWhatsappOrderSelesai($id='')
function wa_order_selesai (line 111) | function wa_order_selesai()
function getTokenWhatsapp (line 123) | function getTokenWhatsapp()
function notificationWhatsapp (line 135) | function notificationWhatsapp($token,$waphone,$pesan)
function getNotifikasi (line 158) | function getNotifikasi($user_id)
function sendNotification (line 166) | function sendNotification($id=null, $user_id=null, $kategori=null, $titl...
FILE: app/Http/Controllers/Admin/AdminController.php
class AdminController (line 15) | class AdminController extends Controller
method adm (line 18) | public function adm()
method profile (line 25) | public function profile()
method edit_profile (line 32) | public function edit_profile(Request $request)
FILE: app/Http/Controllers/Admin/CustomerController.php
class CustomerController (line 8) | class CustomerController extends Controller
method index (line 11) | public function index()
method show (line 17) | public function show($id)
FILE: app/Http/Controllers/Admin/DokumentasiController.php
class DokumentasiController (line 8) | class DokumentasiController extends Controller
method index (line 11) | public function index()
method tentang (line 17) | public function tentang()
method instalasi (line 23) | public function instalasi()
method versi (line 29) | public function versi()
method notifikasi (line 35) | public function notifikasi()
FILE: app/Http/Controllers/Admin/FinanceController.php
class FinanceController (line 14) | class FinanceController extends Controller
method index (line 17) | public function index()
method dataharga (line 79) | public function dataharga()
method hargastore (line 95) | public function hargastore(HargaRequest $request)
method hargaedit (line 111) | public function hargaedit(Request $request)
FILE: app/Http/Controllers/Admin/KaryawanController.php
class KaryawanController (line 13) | class KaryawanController extends Controller
method index (line 20) | public function index()
method create (line 31) | public function create()
method store (line 42) | public function store(AddKaryawanRequest $request)
method updateKaryawan (line 64) | public function updateKaryawan(Request $request)
FILE: app/Http/Controllers/Admin/SettingsController.php
class SettingsController (line 11) | class SettingsController extends Controller
method setting (line 15) | public function setting()
method proses_set_page (line 26) | public function proses_set_page(Request $request, $id)
method set_theme (line 59) | public function set_theme(Request $request)
method set_target_laundry (line 78) | public function set_target_laundry(Request $request, $id)
method bank (line 91) | public function bank(Request $request)
method notif (line 118) | public function notif(Request $request,$id)
FILE: app/Http/Controllers/Admin/TransaksiController.php
class TransaksiController (line 10) | class TransaksiController extends Controller
method index (line 13) | public function index()
method filtertransaksi (line 24) | public function filtertransaksi(Request $request)
method invoice (line 60) | public function invoice( Request $request)
FILE: app/Http/Controllers/Auth/ForgotPasswordController.php
class ForgotPasswordController (line 8) | class ForgotPasswordController extends Controller
method __construct (line 28) | public function __construct()
FILE: app/Http/Controllers/Auth/LoginController.php
class LoginController (line 9) | class LoginController extends Controller
method __construct (line 36) | public function __construct()
method authenticated (line 41) | protected function authenticated()
FILE: app/Http/Controllers/Auth/RegisterController.php
class RegisterController (line 11) | class RegisterController extends Controller
method __construct (line 38) | public function __construct()
method validator (line 49) | protected function validator(array $data)
method create (line 64) | protected function create(array $data)
FILE: app/Http/Controllers/Auth/ResetPasswordController.php
class ResetPasswordController (line 8) | class ResetPasswordController extends Controller
method __construct (line 35) | public function __construct()
FILE: app/Http/Controllers/Auth/VerificationController.php
class VerificationController (line 8) | class VerificationController extends Controller
method __construct (line 35) | public function __construct()
FILE: app/Http/Controllers/Controller.php
class Controller (line 10) | class Controller extends BaseController
FILE: app/Http/Controllers/Customer/ProfileController.php
class ProfileController (line 12) | class ProfileController extends Controller
method index (line 15) | public function index()
method updateProfile (line 21) | public function updateProfile(UpdateProfilRequest $request,$id)
FILE: app/Http/Controllers/Customer/SettingController.php
class SettingController (line 10) | class SettingController extends Controller
method index (line 13) | public function index()
method settingUpdateCustomer (line 19) | public function settingUpdateCustomer(Request $request, $id)
FILE: app/Http/Controllers/FrontController.php
class FrontController (line 8) | class FrontController extends Controller
method index (line 12) | public function index()
method search (line 20) | public function search(Request $request)
FILE: app/Http/Controllers/HomeController.php
class HomeController (line 10) | class HomeController extends Controller
method __construct (line 17) | public function __construct()
method index (line 28) | public function index()
method readNotifikasi (line 199) | public function readNotifikasi(Request $request)
FILE: app/Http/Controllers/Karyawan/CustomerController.php
class CustomerController (line 18) | class CustomerController extends Controller
method index (line 21) | public function index()
method detail (line 30) | public function detail($id)
method create (line 39) | public function create()
method store (line 45) | public function store(AddCustomerRequest $request)
FILE: app/Http/Controllers/Karyawan/InvoiceController.php
class InvoiceController (line 10) | class InvoiceController extends Controller
method invoicekar (line 13) | public function invoicekar(Request $request)
method cetakinvoice (line 30) | public function cetakinvoice(Request $request)
FILE: app/Http/Controllers/Karyawan/LaporanController.php
class LaporanController (line 12) | class LaporanController extends Controller
method laporan (line 15) | public function laporan()
method exportExcel (line 22) | public function exportExcel()
FILE: app/Http/Controllers/Karyawan/PelayananController.php
class PelayananController (line 18) | class PelayananController extends Controller
method index (line 23) | public function index()
method store (line 31) | public function store(AddOrderRequest $request)
method addorders (line 104) | public function addorders()
method listharga (line 121) | public function listharga(Request $request)
method listhari (line 143) | public function listhari(Request $request)
method updateStatusLaundry (line 166) | public function updateStatusLaundry(Request $request)
FILE: app/Http/Controllers/Karyawan/ProfileController.php
class ProfileController (line 10) | class ProfileController extends Controller
method karyawanProfile (line 13) | public function karyawanProfile($id)
method karyawanProfileSave (line 20) | public function karyawanProfileSave(Request $request, $id)
FILE: app/Http/Controllers/Karyawan/SettingsController.php
class SettingsController (line 10) | class SettingsController extends Controller
method setting (line 13) | public function setting()
method proses_setting_karyawan (line 19) | public function proses_setting_karyawan(Request $request, $id)
FILE: app/Http/Kernel.php
class Kernel (line 7) | class Kernel extends HttpKernel
FILE: app/Http/Middleware/Authenticate.php
class Authenticate (line 7) | class Authenticate extends Middleware
method redirectTo (line 15) | protected function redirectTo($request)
FILE: app/Http/Middleware/CheckForMaintenanceMode.php
class CheckForMaintenanceMode (line 7) | class CheckForMaintenanceMode extends Middleware
FILE: app/Http/Middleware/EncryptCookies.php
class EncryptCookies (line 7) | class EncryptCookies extends Middleware
FILE: app/Http/Middleware/RedirectIfAuthenticated.php
class RedirectIfAuthenticated (line 8) | class RedirectIfAuthenticated
method handle (line 18) | public function handle($request, Closure $next, $guard = null)
FILE: app/Http/Middleware/TrimStrings.php
class TrimStrings (line 7) | class TrimStrings extends Middleware
FILE: app/Http/Middleware/TrustProxies.php
class TrustProxies (line 8) | class TrustProxies extends Middleware
FILE: app/Http/Middleware/VerifyCsrfToken.php
class VerifyCsrfToken (line 7) | class VerifyCsrfToken extends Middleware
FILE: app/Http/Requests/AddCustomerRequest.php
class AddCustomerRequest (line 7) | class AddCustomerRequest extends FormRequest
method authorize (line 14) | public function authorize()
method rules (line 24) | public function rules()
method messages (line 34) | public function messages()
FILE: app/Http/Requests/AddKaryawanRequest.php
class AddKaryawanRequest (line 7) | class AddKaryawanRequest extends FormRequest
method authorize (line 14) | public function authorize()
method rules (line 24) | public function rules()
method messages (line 38) | public function messages()
FILE: app/Http/Requests/AddOrderRequest.php
class AddOrderRequest (line 7) | class AddOrderRequest extends FormRequest
method authorize (line 14) | public function authorize()
method rules (line 24) | public function rules()
method messages (line 38) | public function messages()
FILE: app/Http/Requests/HargaRequest.php
class HargaRequest (line 7) | class HargaRequest extends FormRequest
method authorize (line 14) | public function authorize()
method rules (line 24) | public function rules()
method messages (line 34) | public function messages()
FILE: app/Http/Requests/LoginRequest.php
class LoginRequest (line 7) | class LoginRequest extends FormRequest
method authorize (line 14) | public function authorize()
method rules (line 24) | public function rules()
method messages (line 32) | public function messages()
FILE: app/Http/Requests/UpdateProfilRequest.php
class UpdateProfilRequest (line 7) | class UpdateProfilRequest extends FormRequest
method authorize (line 14) | public function authorize()
method rules (line 24) | public function rules()
method messages (line 35) | public function messages()
FILE: app/Jobs/DoneCustomerJob.php
class DoneCustomerJob (line 14) | class DoneCustomerJob implements ShouldQueue
method __construct (line 24) | public function __construct($data)
method handle (line 34) | public function handle()
FILE: app/Jobs/OrderCustomerJob.php
class OrderCustomerJob (line 14) | class OrderCustomerJob implements ShouldQueue
method __construct (line 24) | public function __construct($data)
method handle (line 34) | public function handle()
FILE: app/Jobs/RegisterCustomerJob.php
class RegisterCustomerJob (line 14) | class RegisterCustomerJob implements ShouldQueue
method __construct (line 23) | public function __construct($data)
method handle (line 33) | public function handle()
FILE: app/Mail/DoneCustomer.php
class DoneCustomer (line 10) | class DoneCustomer extends Mailable
method __construct (line 20) | public function __construct($data)
method build (line 30) | public function build()
FILE: app/Mail/OrderCustomer.php
class OrderCustomer (line 10) | class OrderCustomer extends Mailable
method __construct (line 20) | public function __construct($data)
method build (line 30) | public function build()
FILE: app/Mail/RegisterCustomer.php
class RegisterCustomer (line 10) | class RegisterCustomer extends Mailable
method __construct (line 20) | public function __construct($data)
method build (line 30) | public function build()
FILE: app/Models/Bank.php
class Bank (line 17) | class Bank extends Model
FILE: app/Models/DataBank.php
class DataBank (line 8) | class DataBank extends Model
method User (line 16) | public function User()
FILE: app/Models/LaundrySetting.php
class LaundrySetting (line 8) | class LaundrySetting extends Model
FILE: app/Models/Notification.php
class Notification (line 8) | class Notification extends Model
FILE: app/Models/PageSettings.php
class PageSettings (line 8) | class PageSettings extends Model
FILE: app/Models/User.php
class User (line 10) | class User extends Authenticatable
method bank (line 41) | function bank()
method transaksi (line 46) | public function transaksi()
method transaksiCustomer (line 51) | public function transaksiCustomer()
FILE: app/Models/harga.php
class harga (line 7) | class harga extends Model
method transaksi (line 13) | public function transaksi()
method harga_user (line 18) | public function harga_user()
FILE: app/Models/notifications_setting.php
class notifications_setting (line 8) | class notifications_setting extends Model
FILE: app/Models/transaksi.php
class transaksi (line 8) | class transaksi extends Model
method price (line 15) | public function price()
method customers (line 20) | public function customers()
method user (line 25) | public function user()
FILE: app/Notifications/OrderMasuk.php
class OrderMasuk (line 12) | class OrderMasuk extends Notification
method __construct (line 21) | public function __construct()
method via (line 32) | public function via($notifiable)
method toMail (line 43) | public function toMail($notifiable)
method toTelegram (line 51) | public function toTelegram($order)
method toArray (line 66) | public function toArray($notifiable)
FILE: app/Notifications/OrderSelesai.php
class OrderSelesai (line 13) | class OrderSelesai extends Notification
method __construct (line 22) | public function __construct()
method via (line 33) | public function via($notifiable)
method toMail (line 44) | public function toMail($notifiable)
method toTelegram (line 52) | public function toTelegram($statusorder)
method toArray (line 65) | public function toArray($notifiable)
FILE: app/Providers/AppServiceProvider.php
class AppServiceProvider (line 9) | class AppServiceProvider extends ServiceProvider
method register (line 16) | public function register()
method boot (line 26) | public function boot()
FILE: app/Providers/AuthServiceProvider.php
class AuthServiceProvider (line 8) | class AuthServiceProvider extends ServiceProvider
method boot (line 24) | public function boot()
FILE: app/Providers/BroadcastServiceProvider.php
class BroadcastServiceProvider (line 8) | class BroadcastServiceProvider extends ServiceProvider
method boot (line 15) | public function boot()
FILE: app/Providers/EventServiceProvider.php
class EventServiceProvider (line 10) | class EventServiceProvider extends ServiceProvider
method boot (line 28) | public function boot()
FILE: app/Providers/RouteServiceProvider.php
class RouteServiceProvider (line 8) | class RouteServiceProvider extends ServiceProvider
method boot (line 24) | public function boot()
method map (line 36) | public function map()
method mapWebRoutes (line 52) | protected function mapWebRoutes()
method mapApiRoutes (line 66) | protected function mapApiRoutes()
FILE: database/migrations/2014_10_12_000000_create_users_table.php
class CreateUsersTable (line 7) | class CreateUsersTable extends Migration
method up (line 14) | public function up()
method down (line 38) | public function down()
FILE: database/migrations/2014_10_12_100000_create_password_resets_table.php
class CreatePasswordResetsTable (line 7) | class CreatePasswordResetsTable extends Migration
method up (line 14) | public function up()
method down (line 28) | public function down()
FILE: database/migrations/2019_05_24_091904_create_transaksis_table.php
class CreateTransaksisTable (line 7) | class CreateTransaksisTable extends Migration
method up (line 14) | public function up()
method down (line 46) | public function down()
FILE: database/migrations/2019_05_24_094505_create_hargas_table.php
class CreateHargasTable (line 7) | class CreateHargasTable extends Migration
method up (line 14) | public function up()
method down (line 35) | public function down()
FILE: database/migrations/2021_03_19_231220_create_page_settings_table.php
class CreatePageSettingsTable (line 7) | class CreatePageSettingsTable extends Migration
method up (line 14) | public function up()
method down (line 36) | public function down()
FILE: database/migrations/2021_03_21_124956_add_theme_to_users_table.php
class AddThemeToUsersTable (line 7) | class AddThemeToUsersTable extends Migration
method up (line 14) | public function up()
method down (line 26) | public function down()
FILE: database/migrations/2021_03_22_001021_create_laundry_settings_table.php
class CreateLaundrySettingsTable (line 7) | class CreateLaundrySettingsTable extends Migration
method up (line 14) | public function up()
method down (line 34) | public function down()
FILE: database/migrations/2021_05_07_100208_create_permission_tables.php
class CreatePermissionTables (line 7) | class CreatePermissionTables extends Migration
method up (line 14) | public function up()
method down (line 100) | public function down()
FILE: database/migrations/2021_05_07_135323_create_data_banks_table.php
class CreateDataBanksTable (line 7) | class CreateDataBanksTable extends Migration
method up (line 14) | public function up()
method down (line 33) | public function down()
FILE: database/migrations/2021_05_07_155403_add_field_in_transaksi.php
class AddFieldInTransaksi (line 7) | class AddFieldInTransaksi extends Migration
method up (line 14) | public function up()
method down (line 26) | public function down()
FILE: database/migrations/2021_05_11_130732_create_notifications_settings_table.php
class CreateNotificationsSettingsTable (line 7) | class CreateNotificationsSettingsTable extends Migration
method up (line 14) | public function up()
method down (line 32) | public function down()
FILE: database/migrations/2021_08_08_100000_create_banks_tables.php
class CreateBanksTables (line 14) | class CreateBanksTables extends Migration
method up (line 21) | public function up()
method down (line 35) | public function down()
FILE: database/migrations/2021_12_30_231550_add_field_username_telegram_channel_to_notifications_settings_table.php
class AddFieldUsernameTelegramChannelToNotificationsSettingsTable (line 7) | class AddFieldUsernameTelegramChannelToNotificationsSettingsTable extend...
method up (line 14) | public function up()
method down (line 27) | public function down()
FILE: database/migrations/2022_01_28_171610_add_field_foto_to_users_table.php
class AddFieldFotoToUsersTable (line 7) | class AddFieldFotoToUsersTable extends Migration
method up (line 14) | public function up()
method down (line 26) | public function down()
FILE: database/migrations/2022_01_29_185408_add_field_token_wa_to_notifications_settings_table.php
class AddFieldTokenWaToNotificationsSettingsTable (line 7) | class AddFieldTokenWaToNotificationsSettingsTable extends Migration
method up (line 14) | public function up()
method down (line 27) | public function down()
FILE: database/migrations/2022_01_31_105111_update_field_auth_in_users_table.php
class UpdateFieldAuthInUsersTable (line 7) | class UpdateFieldAuthInUsersTable extends Migration
method up (line 14) | public function up()
method down (line 24) | public function down()
FILE: database/migrations/2022_01_31_112034_add_field_karyawan_id_wa_in_users_table.php
class AddFieldKaryawanIdWaInUsersTable (line 7) | class AddFieldKaryawanIdWaInUsersTable extends Migration
method up (line 14) | public function up()
method down (line 27) | public function down()
FILE: database/migrations/2022_02_02_220553_create_jobs_table.php
class CreateJobsTable (line 7) | class CreateJobsTable extends Migration
method up (line 14) | public function up()
method down (line 32) | public function down()
FILE: database/migrations/2022_02_02_231121_create_failed_jobs_table.php
class CreateFailedJobsTable (line 7) | class CreateFailedJobsTable extends Migration
method up (line 14) | public function up()
method down (line 32) | public function down()
FILE: database/migrations/2022_02_03_144826_add_field_point_in_users_table.php
class AddFieldPointInUsersTable (line 7) | class AddFieldPointInUsersTable extends Migration
method up (line 14) | public function up()
method down (line 26) | public function down()
FILE: database/migrations/2022_09_27_125933_create_notifications_table.php
class CreateNotificationsTable (line 7) | class CreateNotificationsTable extends Migration
method up (line 14) | public function up()
method down (line 33) | public function down()
FILE: database/seeders/DatabaseSeeder.php
class DatabaseSeeder (line 6) | class DatabaseSeeder extends Seeder
method run (line 13) | public function run()
FILE: database/seeders/IndoBankSeeder.php
class IndoBankSeeder (line 16) | class IndoBankSeeder extends Seeder
method run (line 25) | public function run()
FILE: database/seeders/RoleSeeder.php
class RoleSeeder (line 8) | class RoleSeeder extends Seeder
method run (line 15) | public function run()
FILE: database/seeders/SettingPageSeeder.php
class SettingPageSeeder (line 8) | class SettingPageSeeder extends Seeder
method run (line 15) | public function run()
FILE: database/seeders/addRoleSeeder.php
class addRoleSeeder (line 8) | class addRoleSeeder extends Seeder
method run (line 15) | public function run()
FILE: public/backend/js/core/app-menu.js
function searchMenu (line 297) | function searchMenu(list) {
function modernMenuExpand (line 789) | function modernMenuExpand() {
function modernMenuCollapse (line 809) | function modernMenuCollapse() {
FILE: public/backend/js/core/app.js
function checkTextAreaMaxLength (line 242) | function checkTextAreaMaxLength(textBox, e) {
function checkSpecialKeys (line 271) | function checkSpecialKeys(e) {
FILE: public/backend/js/scripts/ag-grid/ag-grid.js
function updateSearchQuery (line 118) | function updateSearchQuery(val) {
function changePageSize (line 127) | function changePageSize(value) {
FILE: public/backend/js/scripts/charts/chart-apex.js
function generateDataBubbleChart (line 568) | function generateDataBubbleChart(baseval, count, yrange) {
function generateData (line 913) | function generateData(count, yrange) {
FILE: public/backend/js/scripts/charts/chart-echart.js
function randomize (line 26) | function randomize() {
FILE: public/backend/js/scripts/extensions/noui-slider.js
function filter500 (line 173) | function filter500(value, type) {
function timestamp (line 776) | function timestamp(str) {
function timestamp (line 780) | function timestamp(str) {
function nth (line 803) | function nth(d) {
function formatDate (line 818) | function formatDate(date) {
FILE: public/backend/js/scripts/extensions/swiper.js
function activeSlide (line 96) | function activeSlide(index) {
FILE: public/backend/js/scripts/extensions/tour.js
function displayTour (line 95) | function displayTour() {
FILE: public/backend/js/scripts/forms/form-maxlength.js
function checkTextAreaMaxLength (line 31) | function checkTextAreaMaxLength(textBox, e) {
function checkSpecialKeys (line 61) | function checkSpecialKeys(e) {
FILE: public/backend/js/scripts/forms/select/form-select2.js
function iconFormat (line 32) | function iconFormat(icon) {
function formatRepo (line 124) | function formatRepo (repo) {
function formatRepoSelection (line 146) | function formatRepoSelection (repo) {
function matchStart (line 152) | function matchStart (term, text) {
FILE: public/backend/js/scripts/pages/app-chat.js
function enter_chat (line 161) | function enter_chat(source) {
FILE: public/backend/js/scripts/pages/app-user.js
function updateSearchQuery (line 181) | function updateSearchQuery(val) {
function changePageSize (line 190) | function changePageSize(value) {
FILE: public/backend/vendors/js/charts/apexcharts.js
function _typeof (line 12) | function _typeof(obj) {
function _classCallCheck (line 26) | function _classCallCheck(instance, Constructor) {
function _defineProperties (line 32) | function _defineProperties(target, props) {
function _createClass (line 42) | function _createClass(Constructor, protoProps, staticProps) {
function _defineProperty (line 48) | function _defineProperty(obj, key, value) {
function _objectSpread (line 63) | function _objectSpread(target) {
function _inherits (line 82) | function _inherits(subClass, superClass) {
function _getPrototypeOf (line 97) | function _getPrototypeOf(o) {
function _setPrototypeOf (line 104) | function _setPrototypeOf(o, p) {
function _assertThisInitialized (line 113) | function _assertThisInitialized(self) {
function _possibleConstructorReturn (line 121) | function _possibleConstructorReturn(self, call) {
function _toConsumableArray (line 129) | function _toConsumableArray(arr) {
function _arrayWithoutHoles (line 133) | function _arrayWithoutHoles(arr) {
function _iterableToArray (line 141) | function _iterableToArray(iter) {
function _nonIterableSpread (line 145) | function _nonIterableSpread() {
function Utils (line 155) | function Utils() {
function Filters (line 580) | function Filters(ctx) {
function Animations (line 799) | function Animations(ctx) {
function Graphics (line 1030) | function Graphics(ctx) {
function Options (line 1852) | function Options() {
function Annotations (line 2767) | function Annotations(ctx) {
function DateTime (line 3383) | function DateTime(ctx) {
function ii (line 3440) | function ii(i, len) {
function Defaults (line 3621) | function Defaults(opts) {
function CoreUtils (line 4269) | function CoreUtils(ctx) {
function Config (line 4624) | function Config(opts) {
function Globals (line 4914) | function Globals() {
function Base (line 5190) | function Base(opts) {
function Fill (line 5221) | function Fill(ctx) {
function Markers (line 5489) | function Markers(ctx, opts) {
function Scatter (line 5660) | function Scatter(ctx) {
function DataLabels (line 5846) | function DataLabels(ctx) {
function Bar (line 6061) | function Bar(ctx, xyRatios) {
function BarStacked (line 7070) | function BarStacked() {
function CandleStick (line 7564) | function CandleStick() {
function Crosshairs (line 7801) | function Crosshairs(ctx) {
function HeatMap (line 7906) | function HeatMap(ctx, xyRatios) {
function Pie (line 8211) | function Pie(ctx) {
function Radar (line 8903) | function Radar(ctx) {
function Radial (line 9326) | function Radial(ctx) {
function RangeBar (line 9714) | function RangeBar() {
function Formatters (line 10024) | function Formatters(ctx) {
function AxesUtils (line 10174) | function AxesUtils(ctx) {
function YAxis (line 10277) | function YAxis(ctx) {
function Dimensions (line 10665) | function Dimensions(ctx) {
function Series (line 11310) | function Series(ctx) {
function iterateOnAllCollapsedSeries (line 11332) | function iterateOnAllCollapsedSeries(series) {
function pushPaths (line 11493) | function pushPaths(seriesEls, i, type) {
function Legend (line 11722) | function Legend(ctx, opts) {
function Line (line 12212) | function Line(ctx, xyRatios, isPointsChart) {
function XAxis (line 12788) | function XAxis(ctx) {
function Range (line 13130) | function Range(ctx) {
function intersect (line 13404) | function intersect(a, b) {
function Range$$1 (line 13618) | function Range$$1(ctx) {
function TimeScale (line 14037) | function TimeScale(ctx) {
function Core (line 14802) | function Core(el, ctx) {
function finallyConstructor (line 15797) | function finallyConstructor(callback) {
function noop (line 15817) | function noop() {}
function bind (line 15820) | function bind(fn, thisArg) {
function Promise$1 (line 15830) | function Promise$1(fn) {
function handle (line 15846) | function handle(self, deferred) {
function resolve (line 15872) | function resolve(self, newValue) {
function reject (line 15900) | function reject(self, newValue) {
function finale (line 15906) | function finale(self) {
function Handler (line 15924) | function Handler(onFulfilled, onRejected, promise) {
function doResolve (line 15936) | function doResolve(fn, self) {
function res (line 15980) | function res(i, val) {
function Exports (line 16053) | function Exports(ctx) {
function Grid (line 16166) | function Grid(ctx) {
function Responsive (line 16554) | function Responsive(ctx) {
function Theme (line 16630) | function Theme(ctx) {
function Utils (line 16831) | function Utils(tooltipContext) {
function Labels (line 17111) | function Labels(tooltipContext) {
function Position (line 17486) | function Position(tooltipContext) {
function Marker (line 17863) | function Marker(tooltipContext) {
function Intersect (line 18023) | function Intersect(tooltipContext) {
function AxesTooltip (line 18334) | function AxesTooltip(tooltipContext) {
function Tooltip (line 18505) | function Tooltip(ctx) {
function Toolbar (line 19289) | function Toolbar(ctx) {
function ZoomPanSelection (line 19720) | function ZoomPanSelection(ctx) {
function TitleSubtitle (line 20322) | function TitleSubtitle(ctx) {
function pathRegReplace (line 25203) | function pathRegReplace(a, b, c, d) {
function array_clone (line 25208) | function array_clone(arr) {
function _is (line 25221) | function _is(el, obj) {
function _matches (line 25226) | function _matches(el, selector) {
function camelCase (line 25231) | function camelCase(s) {
function capitalize (line 25238) | function capitalize(s) {
function fullHex (line 25243) | function fullHex(hex) {
function compToHex (line 25248) | function compToHex(comp) {
function proportionalSize (line 25254) | function proportionalSize(element, width, height) {
function deltaTransformPoint (line 25272) | function deltaTransformPoint(matrix, x, y) {
function arrayToMatrix (line 25280) | function arrayToMatrix(a) {
function parseMatrix (line 25292) | function parseMatrix(matrix) {
function ensureCentre (line 25301) | function ensureCentre(o, target) {
function arrayToString (line 25307) | function arrayToString(a) {
function assignNewId (line 25344) | function assignNewId(node) {
function fullBox (line 25356) | function fullBox(b) {
function idFromReference (line 25374) | function idFromReference(url) {
function float32String (line 25381) | function float32String(v) {
function normaliseMatrix (line 26023) | function normaliseMatrix(matrix) {
function listString (line 26032) | function listString(list) {
function foreach (line 26042) | function foreach(){ //loops through mutiple objects
function handleBlock (line 26129) | function handleBlock(startArr, startOffsetM, startOffsetNextM, destArr, ...
function simplyfy (line 26203) | function simplyfy(val){
function setPosAndReflection (line 26244) | function setPosAndReflection(val){
function toBeziere (line 26257) | function toBeziere(val){
function findNextM (line 26293) | function findNextM(arr, offset){
function arcToBeziere (line 26313) | function arcToBeziere(pos, val) {
function DragHandler (line 26470) | function DragHandler(el){
function SelectHandler (line 26702) | function SelectHandler(el) {
function getMoseDownFunc (line 26852) | function getMoseDownFunc(eventName) {
function ResizeHandler (line 27012) | function ResizeHandler(el) {
function styleInject (line 27493) | function styleInject(css, ref) {
function resetTriggers (line 27780) | function resetTriggers(element) {
function checkTriggers (line 27793) | function checkTriggers(element) {
function scrollListener (line 27797) | function scrollListener(e) {
function createStyles (line 27813) | function createStyles() {
function ApexCharts (line 27923) | function ApexCharts(el, opts) {
FILE: public/backend/vendors/js/charts/echarts/echarts.js
function detect (line 118) | function detect(ua) {
function $override (line 277) | function $override(name, fn) {
function clone (line 302) | function clone(source) {
function merge (line 350) | function merge(target, source, overwrite) {
function mergeAll (line 392) | function mergeAll(targetAndSources, overwrite) {
function extend (line 405) | function extend(target, source) {
function defaults (line 420) | function defaults(target, source, overlay) {
function getContext (line 442) | function getContext() {
function indexOf (line 455) | function indexOf(array, value) {
function inherits (line 476) | function inherits(clazz, baseClazz) {
function mixin (line 495) | function mixin(target, source, overlay) {
function isArrayLike (line 506) | function isArrayLike(data) {
function each$1 (line 523) | function each$1(obj, cb, context) {
function map (line 552) | function map(obj, cb, context) {
function reduce (line 576) | function reduce(obj, cb, memo, context) {
function filter (line 599) | function filter(obj, cb, context) {
function find (line 625) | function find(obj, cb, context) {
function bind (line 642) | function bind(func, context) {
function curry (line 654) | function curry(func) {
function isArray (line 666) | function isArray(value) {
function isFunction$1 (line 675) | function isFunction$1(value) {
function isString (line 684) | function isString(value) {
function isObject$1 (line 693) | function isObject$1(value) {
function isBuiltInObject (line 705) | function isBuiltInObject(value) {
function isTypedArray (line 714) | function isTypedArray(value) {
function isDom (line 723) | function isDom(value) {
function eqNaN (line 734) | function eqNaN(value) {
function retrieve (line 744) | function retrieve(values) {
function retrieve2 (line 752) | function retrieve2(value0, value1) {
function retrieve3 (line 758) | function retrieve3(value0, value1, value2) {
function slice (line 773) | function slice() {
function normalizeCssArray (line 786) | function normalizeCssArray(val) {
function assert$1 (line 807) | function assert$1(condition, message) {
function trim (line 818) | function trim(str) {
function setAsPrimitive (line 834) | function setAsPrimitive(obj) {
function isPrimitive (line 838) | function isPrimitive(obj) {
function HashMap (line 846) | function HashMap(obj) {
function createHashMap (line 889) | function createHashMap(obj) {
function concatArray (line 893) | function concatArray(a, b) {
function noop (line 906) | function noop() {}
function create (line 961) | function create(x, y) {
function copy (line 980) | function copy(out, v) {
function clone$1 (line 991) | function clone$1(v) {
function set (line 1005) | function set(out, a, b) {
function add (line 1017) | function add(out, v1, v2) {
function scaleAndAdd (line 1030) | function scaleAndAdd(out, v1, v2, a) {
function sub (line 1042) | function sub(out, v1, v2) {
function len (line 1053) | function len(v) {
function lenSquare (line 1063) | function lenSquare(v) {
function mul (line 1074) | function mul(out, v1, v2) {
function div (line 1086) | function div(out, v1, v2) {
function dot (line 1098) | function dot(v1, v2) {
function scale (line 1108) | function scale(out, v, s) {
function normalize (line 1119) | function normalize(out, v) {
function distance (line 1138) | function distance(v1, v2) {
function distanceSquare (line 1152) | function distanceSquare(v1, v2) {
function negate (line 1163) | function negate(out, v) {
function lerp (line 1176) | function lerp(out, v1, v2, t) {
function applyTransform (line 1188) | function applyTransform(out, v, m) {
function min (line 1202) | function min(out, v1, v2) {
function max (line 1214) | function max(out, v1, v2) {
function Draggable (line 1251) | function Draggable() {
function param (line 1329) | function param(target, e) {
function normalizeQuery (line 1566) | function normalizeQuery(host, query) {
function on (line 1574) | function on(eventful, event, query, handler, context, isOnce) {
function determinant (line 1628) | function determinant(rows, rank, rowStart, rowMask, colMask, detCache) {
function buildTransformer (line 1681) | function buildTransformer(src, dest) {
function clientToLocal (line 1751) | function clientToLocal(el, e, out, calculate) {
function calculateZrXY (line 1788) | function calculateZrXY(el, e, out) {
function prepareCoordMarkers (line 1819) | function prepareCoordMarkers(el, saved) {
function preparePointerTransformer (line 1857) | function preparePointerTransformer(markers, saved) {
function normalizeEvent (line 1902) | function normalizeEvent(el, e, calculate) {
function addEventListener (line 1945) | function addEventListener(el, name, handler) {
function removeEventListener (line 1975) | function removeEventListener(el, name, handler) {
function isMiddleOrRightButtonOnMouseUpDown (line 2009) | function isMiddleOrRightButtonOnMouseUpDown(e) {
function dist$1 (line 2081) | function dist$1(pointPair) {
function center (line 2088) | function center(pointPair) {
function makeEventPacket (line 2134) | function makeEventPacket(eveType, targetInfo, event) {
function stopEvent (line 2156) | function stopEvent(event) {
function EmptyProxy (line 2160) | function EmptyProxy() {}
function isHover (line 2479) | function isHover(displayable, x, y) {
function create$1 (line 2517) | function create$1() {
function identity (line 2528) | function identity(out) {
function copy$1 (line 2543) | function copy$1(out, m) {
function mul$1 (line 2559) | function mul$1(out, m1, m2) {
function translate (line 2584) | function translate(out, a, v) {
function rotate (line 2600) | function rotate(out, a, rad) {
function scale$1 (line 2625) | function scale$1(out, a, v) {
function invert (line 2642) | function invert(out, a) {
function clone$2 (line 2670) | function clone$2(a) {
function isNotAroundZero (line 2698) | function isNotAroundZero(val) {
function Clip (line 3340) | function Clip(options) {
function clampCssByte (line 3714) | function clampCssByte(i) { // Clamp to integer 0 .. 255.
function clampCssAngle (line 3719) | function clampCssAngle(i) { // Clamp to integer 0 .. 360.
function clampCssFloat (line 3724) | function clampCssFloat(f) { // Clamp to float 0.0 .. 1.0.
function parseCssInt (line 3728) | function parseCssInt(str) { // int or percentage.
function parseCssFloat (line 3735) | function parseCssFloat(str) { // float or percentage.
function cssHueToRgb (line 3742) | function cssHueToRgb(m1, m2, h) {
function lerpNumber (line 3762) | function lerpNumber(a, b, p) {
function setRgba (line 3766) | function setRgba(out, r, g, b, a) {
function copyRgba (line 3770) | function copyRgba(out, a) {
function putToCache (line 3778) | function putToCache(colorStr, rgbaArr) {
function parse (line 3792) | function parse(colorStr, rgbaArr) {
function hsla2rgba (line 3908) | function hsla2rgba(hsla, rgba) {
function rgba2hsla (line 3936) | function rgba2hsla(rgba) {
function lift (line 4004) | function lift(color, level) {
function toHex (line 4030) | function toHex(color) {
function fastLerp (line 4044) | function fastLerp(normalizedValue, colors, out) {
function lerp$1 (line 4080) | function lerp$1(normalizedValue, colors, fullOutput) {
function modifyHSL (line 4127) | function modifyHSL(color, h, s, l) {
function modifyAlpha (line 4146) | function modifyAlpha(color, alpha) {
function stringify (line 4160) | function stringify(arrColor, type) {
function defaultGetter (line 4191) | function defaultGetter(target, key) {
function defaultSetter (line 4195) | function defaultSetter(target, key, value) {
function interpolateNumber (line 4205) | function interpolateNumber(p0, p1, percent) {
function interpolateString (line 4215) | function interpolateString(p0, p1, percent) {
function interpolateArray (line 4226) | function interpolateArray(p0, p1, percent, out, arrDim) {
function fillArr (line 4247) | function fillArr(arr0, arr1, arrDim) {
function isArraySame (line 4290) | function isArraySame(arr0, arr1, arrDim) {
function catmullRomInterpolateArray (line 4330) | function catmullRomInterpolateArray(
function catmullRomInterpolate (line 4365) | function catmullRomInterpolate(p0, p1, p2, p3, t, t2, t3) {
function cloneValue (line 4373) | function cloneValue(value) {
function rgba2String (line 4390) | function rgba2String(rgba) {
function getArrayDim (line 4398) | function getArrayDim(keyframes) {
function createTrackClip (line 4403) | function createTrackClip(animator, easing, oneTrackDone, keyframes, prop...
function animateTo (line 5019) | function animateTo(animatable, target, time, delay, easing, callback, fo...
function animateToShallow (line 5101) | function animateToShallow(animatable, path, source, target, time, delay,...
function setAttrByPath (line 5144) | function setAttrByPath(el, path, name, value) {
function BoundingRect (line 5425) | function BoundingRect(x, y, width, height) {
function minRunLength (line 5922) | function minRunLength(n) {
function makeAscendingRun (line 5933) | function makeAscendingRun(array, lo, hi, compare) {
function reverseRun (line 5956) | function reverseRun(array, lo, hi) {
function binaryInsertionSort (line 5966) | function binaryInsertionSort(array, lo, hi, start, compare) {
function gallopLeft (line 6012) | function gallopLeft(value, array, start, length, hint, compare) {
function gallopRight (line 6069) | function gallopRight(value, array, start, length, hint, compare) {
function TimSort (line 6130) | function TimSort(array, compare) {
function sort (line 6529) | function sort(array, compare, lo, hi) {
function shapeCompareFunc (line 6579) | function shapeCompareFunc(a, b) {
function createLinearGradient (line 6848) | function createLinearGradient(ctx, obj, rect) {
function createRadialGradient (line 6872) | function createRadialGradient(ctx, obj, rect) {
function returnFalse (line 7342) | function returnFalse() {
function createDom (line 7354) | function createDom(id, painter, dpr) {
function findExistImage (line 7591) | function findExistImage(newImageOrSrc) {
function createOrUpdateImage (line 7612) | function createOrUpdateImage(newImageOrSrc, image, hostEl, cb, cbPayload) {
function imageOnLoad (line 7656) | function imageOnLoad() {
function isImageReady (line 7669) | function isImageReady(image) {
function $override$1 (line 7684) | function $override$1(name, fn) {
function getWidth (line 7694) | function getWidth(text, font) {
function getBoundingRect (line 7730) | function getBoundingRect(text, font, textAlign, textVerticalAlign, textP...
function getPlainTextRect (line 7736) | function getPlainTextRect(text, font, textAlign, textVerticalAlign, text...
function getRichTextRect (line 7753) | function getRichTextRect(text, font, textAlign, textVerticalAlign, textP...
function adjustTextX (line 7778) | function adjustTextX(x, width, textAlign) {
function adjustTextY (line 7796) | function adjustTextY(y, height, textVerticalAlign) {
function calculateTextPosition (line 7814) | function calculateTextPosition(out, style, rect) {
function truncateText (line 7937) | function truncateText(text, containerWidth, font, ellipsis, options) {
function prepareTruncateOptions (line 7954) | function prepareTruncateOptions(containerWidth, font, ellipsis, options) {
function truncateSingleLine (line 7992) | function truncateSingleLine(textLine, options) {
function estimateLength (line 8030) | function estimateLength(text, contentWidth, ascCharWidth, cnCharWidth) {
function getLineHeight (line 8045) | function getLineHeight(font) {
function measureText (line 8056) | function measureText(text, font) {
function parsePlainText (line 8075) | function parsePlainText(text, font, padding, textLineHeight, truncate) {
function parseRichText (line 8148) | function parseRichText(text, style) {
function pushTokens (line 8310) | function pushTokens(block, str, styleName) {
function makeFont (line 8349) | function makeFont(style) {
function buildPath (line 8371) | function buildPath(ctx, shape) {
function normalizeTextStyle (line 8471) | function normalizeTextStyle(style) {
function normalizeStyle (line 8477) | function normalizeStyle(style) {
function renderText (line 8510) | function renderText(hostEl, ctx, text, style, rect, prevEl) {
function renderPlainText (line 8518) | function renderPlainText(hostEl, ctx, text, style, rect, prevEl) {
function renderRichText (line 8673) | function renderRichText(hostEl, ctx, text, style, rect, prevEl) {
function drawRichText (line 8689) | function drawRichText(hostEl, ctx, contentBlock, style, rect) {
function applyTextRotation (line 8765) | function applyTextRotation(ctx, style, rect, x, y) {
function placeToken (line 8785) | function placeToken(hostEl, ctx, token, style, lineHeight, lineTop, x, t...
function needDrawBackground (line 8848) | function needDrawBackground(style) {
function drawBackground (line 8857) | function drawBackground(hostEl, ctx, style, x, y, width, height) {
function onBgImageLoaded (line 8922) | function onBgImageLoaded(image, textBackgroundColor) {
function getBoxPosition (line 8928) | function getBoxPosition(out, hostEl, style, rect) {
function setCtx (line 8972) | function setCtx(ctx, prop, value) {
function getStroke (line 8982) | function getStroke(stroke, lineWidth) {
function getFill (line 8991) | function getFill(fill) {
function parsePercent (line 9000) | function parsePercent(value, maxValue) {
function getTextXForPadding (line 9010) | function getTextXForPadding(x, textAlign, textPadding) {
function needDrawText (line 9023) | function needDrawText(text, style) {
function Displayable (line 9105) | function Displayable(opts) {
function ZImage (line 9389) | function ZImage(opts) {
function parseInt10 (line 9496) | function parseInt10(val) {
function isLayerValid (line 9500) | function isLayerValid(layer) {
function isDisplayableCulled (line 9520) | function isDisplayableCulled(el, width, height) {
function isClipPathChanged (line 9530) | function isClipPathChanged(clipPaths, prevClipPaths) {
function doClip (line 9546) | function doClip(clipPaths, ctx) {
function createRoot (line 9559) | function createRoot(width, height) {
function updatePrevLayer (line 10167) | function updatePrevLayer(idx) {
function step (line 10692) | function step() {
function eventNameFix (line 10805) | function eventNameFix(name) {
function setTouchTimer (line 10829) | function setTouchTimer(instance) {
function isPointerFromTouch (line 10992) | function isPointerFromTouch(event) {
function initDomHandler (line 11015) | function initDomHandler(instance) {
function HandlerDomProxy (line 11039) | function HandlerDomProxy(dom) {
function init$1 (line 11155) | function init$1(dom, opts) {
function dispose$1 (line 11165) | function dispose$1(zr) {
function getInstance (line 11186) | function getInstance(id) {
function registerPainter (line 11190) | function registerPainter(name, Ctor) {
function delInstance (line 11194) | function delInstance(id) {
function normalizeToArray (line 11611) | function normalizeToArray(value) {
function defaultEmphasis (line 11634) | function defaultEmphasis(opt, key, subOpts) {
function getDataItemValue (line 11676) | function getDataItemValue(dataItem) {
function isDataItemOption (line 11686) | function isDataItemOption(dataItem) {
function mappingToExists (line 11702) | function mappingToExists(exists, newCptOptions) {
function makeIdAndName (line 11794) | function makeIdAndName(mapResult) {
function isNameSpecified (line 11871) | function isNameSpecified(componentModel) {
function isIdInner (line 11882) | function isIdInner(cptOption) {
function compressBatches (line 11896) | function compressBatches(batchA, batchB) {
function queryDataIndex (line 11947) | function queryDataIndex(data, payload) {
function makeInner (line 11987) | function makeInner() {
function parseFinder (line 12031) | function parseFinder(ecModel, finder, opt) {
function has (line 12084) | function has(obj, prop) {
function setAttribute (line 12088) | function setAttribute(dom, key, value) {
function getAttribute (line 12094) | function getAttribute(dom, key) {
function getTooltipRenderMode (line 12100) | function getTooltipRenderMode(renderModeOption) {
function groupData (line 12121) | function groupData(array, getKey) {
function parseClassType$1 (line 12161) | function parseClassType$1(componentType) {
function checkClassType (line 12174) | function checkClassType(componentType) {
function enableClassExtend (line 12184) | function enableClassExtend(RootClass, mandatoryMethods) {
function enableClassCheck (line 12229) | function enableClassCheck(Clz) {
function superCall (line 12248) | function superCall(context, methodName) {
function superApply (line 12253) | function superApply(context, methodName, args) {
function enableClassManagement (line 12263) | function enableClassManagement(entity, options) {
function isAroundZero (line 12551) | function isAroundZero(val) {
function isNotAroundZero$1 (line 12554) | function isNotAroundZero$1(val) {
function cubicAt (line 12567) | function cubicAt(p0, p1, p2, p3, t) {
function cubicDerivativeAt (line 12583) | function cubicDerivativeAt(p0, p1, p2, p3, t) {
function cubicRootAt (line 12602) | function cubicRootAt(p0, p1, p2, p3, val, roots) {
function cubicExtrema (line 12694) | function cubicExtrema(p0, p1, p2, p3, extrema) {
function cubicSubdivide (line 12738) | function cubicSubdivide(p0, p1, p2, p3, t, out) {
function cubicProjectPoint (line 12775) | function cubicProjectPoint(
function quadraticAt (line 12853) | function quadraticAt(p0, p1, p2, t) {
function quadraticDerivativeAt (line 12866) | function quadraticDerivativeAt(p0, p1, p2, t) {
function quadraticRootAt (line 12879) | function quadraticRootAt(p0, p1, p2, val, roots) {
function quadraticExtremum (line 12924) | function quadraticExtremum(p0, p1, p2) {
function quadraticSubdivide (line 12944) | function quadraticSubdivide(p0, p1, p2, t, out) {
function quadraticProjectPoint (line 12974) | function quadraticProjectPoint(
function fromPoints (line 13060) | function fromPoints(points, min$$1, max$$1) {
function fromLine (line 13094) | function fromLine(x0, y0, x1, y1, min$$1, max$$1) {
function fromCubic (line 13117) | function fromCubic(
function fromQuadratic (line 13164) | function fromQuadratic(x0, y0, x1, y1, x2, y2, min$$1, max$$1) {
function fromArc (line 13200) | function fromArc(
function containStroke$1 (line 14054) | function containStroke$1(x0, y0, x1, y1, lineWidth, x, y) {
function containStroke$2 (line 14098) | function containStroke$2(x0, y0, x1, y1, x2, y2, x3, y3, lineWidth, x, y) {
function containStroke$3 (line 14132) | function containStroke$3(x0, y0, x1, y1, x2, y2, lineWidth, x, y) {
function normalizeRadian (line 14155) | function normalizeRadian(angle) {
function containStroke$4 (line 14178) | function containStroke$4(
function windingLine (line 14220) | function windingLine(x0, y0, x1, y1, x, y) {
function isAroundEqual (line 14247) | function isAroundEqual(a, b) {
function swapExtrema (line 14255) | function swapExtrema() {
function windingCubic (line 14261) | function windingCubic(x0, y0, x1, y1, x2, y2, x3, y3, x, y) {
function windingQuadratic (line 14324) | function windingQuadratic(x0, y0, x1, y1, x2, y2, x, y) {
function windingArc (line 14373) | function windingArc(
function containPath (line 14437) | function containPath(data, lineWidth, isStroke, x, y) {
function contain (line 14621) | function contain(pathData, x, y) {
function containStroke (line 14625) | function containStroke(pathData, lineWidth, x, y) {
function Path (line 14640) | function Path(opts) {
function processArc (line 15131) | function processArc(x1, y1, x2, y2, fa, fs, rx, ry, psiDeg, cmd, path) {
function createPathProxyFromString (line 15194) | function createPathProxyFromString(data) {
function createPathOptions (line 15463) | function createPathOptions(str, opts) {
function createFromString (line 15494) | function createFromString(str, opts) {
function extendFromString (line 15503) | function extendFromString(str, opts) {
function mergePath$1 (line 15513) | function mergePath$1(pathEls, opts) {
function interpolate (line 15828) | function interpolate(p0, p1, p2, p3, t, t2, t3) {
function buildPath$1 (line 15979) | function buildPath$1(ctx, shape, closePath) {
function subPixelOptimizeLine$1 (line 16085) | function subPixelOptimizeLine$1(outputShape, inputShape, style) {
function subPixelOptimizeRect$1 (line 16128) | function subPixelOptimizeRect$1(outputShape, inputShape, style) {
function subPixelOptimize$1 (line 16160) | function subPixelOptimize$1(position, lineWidth, positiveOrNegative) {
function someVectorAt (line 16312) | function someVectorAt(shape, t, isTangent) {
function IncrementalDisplayble (line 16638) | function IncrementalDisplayble(opts) {
function extendShape (line 16806) | function extendShape(opts) {
function extendPath (line 16813) | function extendPath(pathData, opts) {
function makePath (line 16824) | function makePath(pathData, opts, rect, layout) {
function makeImage (line 16842) | function makeImage(imageUrl, rect, layout) {
function centerGraphic (line 16871) | function centerGraphic(rect, boundingRect) {
function resizePath (line 16901) | function resizePath(path, rect) {
function subPixelOptimizeLine (line 16926) | function subPixelOptimizeLine(param) {
function subPixelOptimizeRect (line 16944) | function subPixelOptimizeRect(param) {
function hasFillOrStroke (line 16960) | function hasFillOrStroke(fillOrStroke) {
function liftColor (line 16968) | function liftColor(color) {
function cacheElementStl (line 16983) | function cacheElementStl(el) {
function singleEnterEmphasis (line 17011) | function singleEnterEmphasis(el) {
function setDefaultHoverFillStroke (line 17076) | function setDefaultHoverFillStroke(targetStyle, hoverStyle, prop) {
function singleEnterNormal (line 17082) | function singleEnterNormal(el) {
function traverseUpdate (line 17117) | function traverseUpdate(el, updater, commonParam) {
function setElementHoverStyle (line 17150) | function setElementHoverStyle(el, hoverStl) {
function onElementMouseOver (line 17178) | function onElementMouseOver(e) {
function onElementMouseOut (line 17185) | function onElementMouseOut(e) {
function onElementEmphasisEvent (line 17192) | function onElementEmphasisEvent(highlightDigit) {
function onElementNormalEvent (line 17197) | function onElementNormalEvent(highlightDigit) {
function shouldSilent (line 17202) | function shouldSilent(el, e) {
function setHoverStyle (line 17243) | function setHoverStyle(el, hoverStyle) {
function setAsHighDownDispatcher (line 17282) | function setAsHighDownDispatcher(el, asDispatcher) {
function isHighDownDispatcher (line 17309) | function isHighDownDispatcher(el) {
function getHighlightDigit (line 17321) | function getHighlightDigit(highlightKey) {
function setLabelStyle (line 17346) | function setLabelStyle(
function modifyLabelStyle (line 17409) | function modifyLabelStyle(el, normalStyleProps, emphasisStyleProps) {
function setTextStyle (line 17433) | function setTextStyle(
function setText (line 17452) | function setText(textStyle, labelModel, defaultColor) {
function setTextStyleCommon (line 17499) | function setTextStyleCommon(textStyle, textStyleModel, opt, isEmphasis) {
function getRichItemNames (line 17578) | function getRichItemNames(textStyleModel) {
function setTokenTextStyle (line 17596) | function setTokenTextStyle(textStyle, textStyleModel, globalTextStyle, o...
function getAutoColor (line 17661) | function getAutoColor(color, opt) {
function applyDefaultTextStyle (line 17682) | function applyDefaultTextStyle(textStyle) {
function rollbackDefaultTextStyle (line 17738) | function rollbackDefaultTextStyle(style) {
function getFont (line 17749) | function getFont(opt, ecModel) {
function animateOrSetProps (line 17761) | function animateOrSetProps(isUpdate, el, props, animatableModel, dataInd...
function updateProps (line 17821) | function updateProps(el, props, animatableModel, dataIndex, cb) {
function initProps (line 17839) | function initProps(el, props, animatableModel, dataIndex, cb) {
function getTransform (line 17850) | function getTransform(target, ancestor) {
function applyTransform$1 (line 17870) | function applyTransform$1(target, transform, invert$$1) {
function transformDirection (line 17887) | function transformDirection(direction, transform, invert$$1) {
function groupTransition (line 17911) | function groupTransition(g1, g2, animatableModel, cb) {
function clipPointsByRect (line 17959) | function clipPointsByRect(points, rect) {
function clipRectByRect (line 17978) | function clipRectByRect(targetRect, rect) {
function createIcon (line 18002) | function createIcon(iconStr, opt, rect) {
function linePolygonIntersect (line 18038) | function linePolygonIntersect(a1x, a1y, a2x, a2y, points) {
function lineLineIntersect (line 18064) | function lineLineIntersect(a1x, a1y, a2x, a2y, b1x, b1y, b2x, b2y) {
function crossProduct2d (line 18099) | function crossProduct2d(x1, y1, x2, y2) {
function nearZero (line 18103) | function nearZero(val) {
function Model (line 18306) | function Model(option, parentModel, ecModel) {
function doGet (line 18454) | function doGet(obj, pathArr, parentModel) {
function getParent (line 18473) | function getParent(model, path) {
function getUID (line 18513) | function getUID(type) {
function enableSubTypeDefaulter (line 18522) | function enableSubTypeDefaulter(entity) {
function enableTopologicalTravel (line 18554) | function enableTopologicalTravel(entity, dependencyGetter) {
function _trim (line 18699) | function _trim(str) {
function linearMap (line 18712) | function linearMap(val, domain, range, clamp) {
function parsePercent$1 (line 18765) | function parsePercent$1(percent, all) {
function round$1 (line 18800) | function round$1(x, precision, returnStr) {
function asc (line 18817) | function asc(arr) {
function getPrecision (line 18828) | function getPrecision(val) {
function getPrecisionSafe (line 18850) | function getPrecisionSafe(val) {
function getPixelPrecision (line 18872) | function getPixelPrecision(dataExtent, pixelExtent) {
function getPercentWithPrecision (line 18893) | function getPercentWithPrecision(valueList, idx, precision) {
function remRadian (line 18952) | function remRadian(radian) {
function isRadianAroundZero (line 18961) | function isRadianAroundZero(val) {
function parseDate (line 18984) | function parseDate(value) {
function quantity (line 19051) | function quantity(val) {
function quantityExponent (line 19055) | function quantityExponent(val) {
function nice (line 19070) | function nice(val, round) {
function quantile (line 19122) | function quantile(ascArr, p) {
function reformIntervals (line 19152) | function reformIntervals(list) {
function isNumeric (line 19202) | function isNumeric(v) {
function addCommas (line 19253) | function addCommas(x) {
function toCamelCase (line 19267) | function toCamelCase(str, upperCaseFirst) {
function encodeHTML (line 19291) | function encodeHTML(source) {
function formatTpl (line 19312) | function formatTpl(tpl, paramsList, encode) {
function formatTplSimple (line 19347) | function formatTplSimple(tpl, param, encode) {
function getTooltipMarker (line 19366) | function getTooltipMarker(opt, extraCssText) {
function pad (line 19399) | function pad(str, len) {
function formatTime (line 19414) | function formatTime(tpl, value, isUTC) {
function capitalFirst (line 19456) | function capitalFirst(str) {
function getTextBoundingRect (line 19475) | function getTextBoundingRect(opt) {
function getTextRect (line 19494) | function getTextRect(
function boxLayout (line 19556) | function boxLayout(orient, group, gap, maxWidth, maxHeight) {
function getAvailableSize (line 19663) | function getAvailableSize(positionInfo, containerRect, margin) {
function getLayoutRect (line 19701) | function getLayoutRect(
function positionElement (line 19836) | function positionElement(el, positionInfo, containerRect, margin, opt) {
function sizeCalculable (line 19886) | function sizeCalculable(option, hvIdx) {
function mergeLayoutParam (line 19916) | function mergeLayoutParam(targetOption, newOption, opt) {
function getLayoutParams (line 20003) | function getLayoutParams(source) {
function copyLayoutParams (line 20012) | function copyLayoutParams(target, source) {
function getDependencies (line 20250) | function getDependencies(componentType) {
function getNearestColorPalette (line 20375) | function getNearestColorPalette(colors, requestColorNum) {
function getCoordSysDefineBySeries (line 20476) | function getCoordSysDefineBySeries(seriesModel) {
function isCategory (line 20598) | function isCategory(axisModel) {
function Source (line 20700) | function Source(fields) {
function detectSourceFormat (line 20797) | function detectSourceFormat(datasetModel) {
function getSource (line 20864) | function getSource(seriesModel) {
function resetSourceDefaulter (line 20872) | function resetSourceDefaulter(ecModel) {
function prepareSource (line 20893) | function prepareSource(seriesModel) {
function completeBySourceData (line 20944) | function completeBySourceData(data, sourceFormat, seriesLayoutBy, source...
function normalizeDimensionsDefine (line 21037) | function normalizeDimensionsDefine(dimensionsDefine) {
function arrayRowsTravelFirst (line 21076) | function arrayRowsTravelFirst(cb, seriesLayoutBy, data, maxLoop) {
function objectRowsCollectDimensions (line 21091) | function objectRowsCollectDimensions(data) {
function makeDefaultEncode (line 21107) | function makeDefaultEncode(
function getDatasetModel (line 21208) | function getDatasetModel(seriesModel) {
function guessOrdinal (line 21230) | function guessOrdinal(source, dimIndex) {
function doGuessOrdinal (line 21242) | function doGuessOrdinal(
function visitComponent (line 21486) | function visitComponent(mainType, dependencies) {
function getQueryCond (line 21721) | function getQueryCond(q) {
function doFilter (line 21740) | function doFilter(res) {
function isNotTargetSeries (line 21943) | function isNotTargetSeries(seriesModel, payload) {
function mergeTheme (line 21957) | function mergeTheme(option, theme) {
function initBase (line 21982) | function initBase(baseOption) {
function getComponentsByTypes (line 22021) | function getComponentsByTypes(componentsMap, types) {
function determineSubType (line 22037) | function determineSubType(mainType, newCptOption, existComponent) {
function createSeriesIndices (line 22052) | function createSeriesIndices(ecModel, seriesModels) {
function filterBySubType (line 22063) | function filterBySubType(components, condition) {
function assertSeriesInitialized (line 22076) | function assertSeriesInitialized(ecModel) {
function ExtensionAPI (line 22114) | function ExtensionAPI(chartInstance) {
function CoordinateSystemManager (line 22141) | function CoordinateSystemManager() {
function OptionManager (line 22267) | function OptionManager(api) {
function parseRawOption (line 22472) | function parseRawOption(rawOption, optionPreprocessorFuncs, isNew) {
function applyMediaQuery (line 22544) | function applyMediaQuery(query, ecWidth, ecHeight) {
function compare (line 22571) | function compare(real, expect, operator) {
function indicesEquals (line 22583) | function indicesEquals(indices1, indices2) {
function mergeOption (line 22609) | function mergeOption(oldOption, newOption) {
function compatEC2ItemStyle (line 22664) | function compatEC2ItemStyle(opt) {
function convertNormalEmphasis (line 22696) | function convertNormalEmphasis(opt, optType, useExtend) {
function removeEC3NormalStatus (line 22718) | function removeEC3NormalStatus(opt) {
function compatTextStyle (line 22730) | function compatTextStyle(opt, propName) {
function compatEC3CommonStyles (line 22744) | function compatEC3CommonStyles(opt) {
function processSeries (line 22752) | function processSeries(seriesOpt) {
function toArr (line 22855) | function toArr(o) {
function toObj (line 22859) | function toObj(o) {
function get (line 22957) | function get(opt, path) {
function set$1 (line 22969) | function set$1(opt, path, val, overwrite) {
function compatLayoutProperties (line 22985) | function compatLayoutProperties(option) {
function calculateStack (line 23108) | function calculateStack(stackInfoList) {
function DefaultDataProvider (line 23201) | function DefaultDataProvider(source, dimSize) {
function countSimply (line 23355) | function countSimply() {
function getItemSimply (line 23358) | function getItemSimply(idx) {
function appendDataSimply (line 23361) | function appendDataSimply(newData) {
function getRawValueSimply (line 23392) | function getRawValueSimply(dataItem, dataIndex, dimIndex, dimName) {
function getDimValueSimply (line 23433) | function getDimValueSimply(dataItem, dimName, dataIndex, dimIndex) {
function converDataValue (line 23443) | function converDataValue(value, dimInfo) {
function retrieveRawValue (line 23486) | function retrieveRawValue(data, dataIndex, dim) {
function retrieveRawAttr (line 23523) | function retrieveRawAttr(data, dataIndex, attr) {
function createTask (line 23705) | function createTask(define) {
function Task (line 23717) | function Task(define) {
function normalizeModBy (line 23772) | function normalizeModBy(val) {
function sequentialNext (line 23871) | function sequentialNext() {
function modNext (line 23875) | function modNext() {
function doProgress (line 23894) | function doProgress(taskIns, progress, start, end, modBy, modDataCount) {
function reset (line 23902) | function reset(taskIns, skip) {
function formatArrayValue (line 24325) | function formatArrayValue(value) {
function formatSingleValue (line 24386) | function formatSingleValue(val) {
function autoSeriesName (line 24553) | function autoSeriesName(seriesModel) {
function getSeriesAutoName (line 24562) | function getSeriesAutoName(seriesModel) {
function dataTaskCount (line 24573) | function dataTaskCount(context) {
function dataTaskReset (line 24577) | function dataTaskReset(context) {
function dataTaskProgress (line 24583) | function dataTaskProgress(param, context) {
function wrapData (line 24591) | function wrapData(data, seriesModel) {
function onDataSelfChange (line 24597) | function onDataSelfChange(seriesModel) {
function getCurrentTask (line 24605) | function getCurrentTask(seriesModel) {
function Chart (line 24751) | function Chart() {
function elSetState (line 24892) | function elSetState(el, state, highlightDigit) {
function toggleHighlight (line 24911) | function toggleHighlight(data, payload, state) {
function renderTaskPlan (line 24940) | function renderTaskPlan(context) {
function renderTaskReset (line 24944) | function renderTaskReset(context) {
function throttle (line 25024) | function throttle(fn, delay, debounce) {
function createOrUpdate (line 25125) | function createOrUpdate(obj, fnAttr, rate, throttleType) {
function clear (line 25159) | function clear(obj, fnAttr) {
function replace (line 25464) | function replace(str, keyValues) {
function getConfig (line 25479) | function getConfig(path) {
function getTitle (line 25494) | function getTitle() {
function getSeriesTypeName (line 25502) | function getSeriesTypeName(type) {
function Scheduler (line 25647) | function Scheduler(ecInstance, api, dataProcessorHandlers, visualHandler...
function performStageTasks (line 25836) | function performStageTasks(scheduler, stageHandlers, ecModel, payload, o...
function createSeriesStageTask (line 25921) | function createSeriesStageTask(scheduler, stageHandler, stageHandlerReco...
function createOverallStageTask (line 25973) | function createOverallStageTask(scheduler, stageHandler, stageHandlerRec...
function overallTaskReset (line 26047) | function overallTaskReset(context) {
function stubReset (line 26053) | function stubReset(context, upstreamContext) {
function stubProgress (line 26057) | function stubProgress() {
function stubOnDirty (line 26062) | function stubOnDirty() {
function seriesTaskPlan (line 26066) | function seriesTaskPlan(context) {
function seriesTaskReset (line 26072) | function seriesTaskReset(context) {
function makeSeriesTaskProgress (line 26088) | function makeSeriesTaskProgress(resetDefineIdx) {
function seriesTaskCount (line 26104) | function seriesTaskCount(context) {
function pipe (line 26108) | function pipe(scheduler, seriesModel, task) {
function detectSeriseType (line 26141) | function detectSeriseType(legacyFunc) {
function mockMethods (line 26167) | function mockMethods(target, Clz) {
function parseXML (line 26468) | function parseXML(svg) {
function SVGParser (line 26486) | function SVGParser() {
function _parseGradientColorStops (line 26859) | function _parseGradientColorStops(xmlNode, gradient) {
function inheritStyle (line 26884) | function inheritStyle(parent, child) {
function parsePoints (line 26893) | function parsePoints(pointsString) {
function parseAttributes (line 26926) | function parseAttributes(xmlNode, el, defs, onlyInlineStyle) {
function getPaint (line 26997) | function getPaint(str, defs) {
function parseTransformAttribute (line 27012) | function parseTransformAttribute(xmlNode, node) {
function parseStyleAttribute (line 27059) | function parseStyleAttribute(xmlNode) {
function makeViewBoxTransform (line 27089) | function makeViewBoxTransform(viewBoxRect, width, height) {
function parseSVG (line 27122) | function parseSVG(xml, opt) {
function createRegisterEventWithLowercaseName (line 27298) | function createRegisterEventWithLowercaseName(method) {
function MessageCenter (line 27309) | function MessageCenter() {
function ECharts (line 27320) | function ECharts(dom, theme$$1, opts) {
function doConvertPixel (line 27843) | function doConvertPixel(methodName, finder, value) {
function prepare (line 28186) | function prepare(ecIns) {
function updateDirectly (line 28204) | function updateDirectly(ecIns, method, payload, mainType, subType) {
function updateStreamModes (line 28284) | function updateStreamModes(ecIns, ecModel) {
function doDispatchAction (line 28387) | function doDispatchAction(payload, silent) {
function flushPendingActions (line 28464) | function flushPendingActions(silent) {
function triggerUpdatedEvent (line 28472) | function triggerUpdatedEvent(silent) {
function bindRenderedEvent (line 28488) | function bindRenderedEvent(zr, ecIns) {
function prepareView (line 28551) | function prepareView(ecIns, type, ecModel, scheduler) {
function clearColorPalette (line 28638) | function clearColorPalette(ecModel) {
function render (line 28645) | function render(ecIns, ecModel, api, payload) {
function renderComponents (line 28663) | function renderComponents(ecIns, ecModel, api, payload, dirtyList) {
function renderSeries (line 28676) | function renderSeries(ecIns, ecModel, api, payload, dirtyMap) {
function performPostUpdateFuncs (line 28708) | function performPostUpdateFuncs(ecModel, api) {
function updateHoverLayerStatus (line 28857) | function updateHoverLayerStatus(ecIns, ecModel) {
function updateBlend (line 28887) | function updateBlend(seriesModel, chartView) {
function updateZ (line 28914) | function updateZ(model, view) {
function createExtensionAPI (line 28926) | function createExtensionAPI(ecInstance) {
function EventProcessor (line 28964) | function EventProcessor() {
function check (line 29054) | function check(query, host, prop, propOnHost) {
function enableConnect (line 29120) | function enableConnect(chart) {
function init (line 29172) | function init(dom, theme$$1, opts) {
function connect (line 29226) | function connect(groupId) {
function disConnect (line 29250) | function disConnect(groupId) {
function dispose (line 29263) | function dispose(chart) {
function getInstanceByDom (line 29280) | function getInstanceByDom(dom) {
function getInstanceById (line 29288) | function getInstanceById(key) {
function registerTheme (line 29295) | function registerTheme(name, theme$$1) {
function registerPreprocessor (line 29303) | function registerPreprocessor(preprocessorFunc) {
function registerProcessor (line 29311) | function registerProcessor(priority, processor) {
function registerPostUpdate (line 29319) | function registerPostUpdate(postUpdateFunc) {
function registerAction (line 29339) | function registerAction(actionInfo, eventName, action) {
function registerCoordinateSystem (line 29367) | function registerCoordinateSystem(type, CoordinateSystem$$1) {
function getCoordinateSystemDimensions (line 29376) | function getCoordinateSystemDimensions(type) {
function registerLayout (line 29393) | function registerLayout(priority, layoutTask) {
function registerVisual (line 29401) | function registerVisual(priority, visualTask) {
function normalizeRegister (line 29408) | function normalizeRegister(targetList, priority, fn, defaultPriority, vi...
function registerLoading (line 29436) | function registerLoading(name, loadingFx) {
function extendComponentModel (line 29444) | function extendComponentModel(opts/*, superClass*/) {
function extendComponentView (line 29457) | function extendComponentView(opts/*, superClass*/) {
function extendSeriesModel (line 29470) | function extendSeriesModel(opts/*, superClass*/) {
function extendChartView (line 29484) | function extendChartView(opts/*, superClass*/) {
function setCanvasCreator (line 29510) | function setCanvasCreator(creator) {
function registerMap (line 29540) | function registerMap(mapName, geoJson, specialAreas) {
function getMap (line 29548) | function getMap(mapName) {
function defaultKeyGetter (line 29604) | function defaultKeyGetter(item) {
function DataDiffer (line 29615) | function DataDiffer(oldArr, newArr, oldKeyGetter, newKeyGetter, context) {
function initIndexMap (line 29713) | function initIndexMap(arr, map, keyArr, keyGetterName, dataDiffer) {
function summarizeDimensions (line 29754) | function summarizeDimensions(data) {
function getOrCreateEncodeArr (line 29847) | function getOrCreateEncodeArr(encode, dim) {
function getDimensionTypeByAxis (line 29854) | function getDimensionTypeByAxis(axisType) {
function mayLabelDimType (line 29862) | function mayLabelDimType(dimType) {
function getIndicesCtor (line 29933) | function getIndicesCtor(list) {
function cloneChunk (line 29938) | function cloneChunk(originalChunk) {
function transferProperties (line 29953) | function transferProperties(target, source) {
function prepareChunks (line 30555) | function prepareChunks(storage, dimInfo, chunkSize, chunkCount, end) {
function prepareInvertedIndex (line 30576) | function prepareInvertedIndex(list) {
function getRawValueFromStore (line 30600) | function getRawValueFromStore(list, dimIndex, rawIndex) {
function getRawIndexWithoutIndices (line 31061) | function getRawIndexWithoutIndices(idx) {
function getRawIndexWithIndices (line 31065) | function getRawIndexWithIndices(idx) {
function getId (line 31112) | function getId(list, rawIndex) {
function normalizeDimensions (line 31124) | function normalizeDimensions(dimensions) {
function validateDimensions (line 31131) | function validateDimensions(list, dims) {
function cloneListForMapAndSample (line 31443) | function cloneListForMapAndSample(original, excludeDimensions) {
function cloneDimStore (line 31475) | function cloneDimStore(originalDimStore) {
function getInitialExtent (line 31483) | function getInitialExtent() {
function completeDimensions (line 31968) | function completeDimensions(sysDims, source, opt) {
function getDimCount (line 32141) | function getDimCount(source, sysDims, dimsDef, optDimCount) {
function genName (line 32157) | function genName(name, map$$1, fromZero) {
function enableDataStack (line 32253) | function enableDataStack(seriesModel, dimensionInfoList, opt) {
function isDimensionStacked (line 32351) | function isDimensionStacked(data, stackedDim /*, stackedByDim*/) {
function getStackedDimension (line 32369) | function getStackedDimension(data, targetDim) {
function createListFromArray (line 32400) | function createListFromArray(source, seriesModel, opt) {
function isNeedCompleteOrdinalData (line 32481) | function isNeedCompleteOrdinalData(source) {
function firstDataNotNull (line 32489) | function firstDataNotNull(data) {
function Scale (line 32524) | function Scale(setting) {
function OrdinalMeta (line 32688) | function OrdinalMeta(opt) {
function getOrCreateMap (line 32791) | function getOrCreateMap(ordinalMeta) {
function getName (line 32797) | function getName(obj) {
function intervalScaleNiceTicks (line 32969) | function intervalScaleNiceTicks(extent, splitNumber, minInterval, maxInt...
function getIntervalPrecision (line 32997) | function getIntervalPrecision(interval) {
function clamp (line 33002) | function clamp(niceTickExtent, idx, extent) {
function fixExtent (line 33007) | function fixExtent(niceTickExtent, extent) {
function intervalScaleGetTicks (line 33017) | function intervalScaleGetTicks(interval, extent, niceTickExtent, interva...
function getSeriesStackId (line 33287) | function getSeriesStackId(seriesModel) {
function getAxisKey (line 33291) | function getAxisKey(axis) {
function getLayoutOnAxis (line 33305) | function getLayoutOnAxis(opt) {
function prepareLayoutBarSeries (line 33334) | function prepareLayoutBarSeries(seriesType, ecModel) {
function makeColumnLayout (line 33345) | function makeColumnLayout(barSeries) {
function doCalBarWidthAndOffset (line 33379) | function doCalBarWidthAndOffset(seriesInfoList) {
function retrieveColumnLayout (line 33498) | function retrieveColumnLayout(barWidthAndOffset, axis, seriesModel) {
function layout (line 33512) | function layout(seriesType, ecModel) {
function progress (line 33643) | function progress(params, data) {
function isOnCartesian (line 33675) | function isOnCartesian(seriesModel) {
function isInLargeMode (line 33679) | function isInLargeMode(seriesModel) {
function getValueAxisStart (line 33684) | function getValueAxisStart(baseAxis, valueAxis, stacked) {
function fixRoundingError (line 34124) | function fixRoundingError(val, originalVal) {
function getScaleExtent (line 34151) | function getScaleExtent(scale, model) {
function adjustScaleForOverflow (line 34285) | function adjustScaleForOverflow(min, max, model, barWidthAndOffset) {
function niceScaleExtent (line 34320) | function niceScaleExtent(scale, model) {
function createScaleByModel (line 34358) | function createScaleByModel(model, axisType) {
function ifAxisCrossZero (line 34382) | function ifAxisCrossZero(axis) {
function makeLabelFormatter (line 34397) | function makeLabelFormatter(axis) {
function getAxisRawValue (line 34434) | function getAxisRawValue(axis, value) {
function estimateLabelUnionRect (line 34445) | function estimateLabelUnionRect(axis) {
function rotateTextRect (line 34489) | function rotateTextRect(textRect, rotate) {
function getOptionCategoryInterval (line 34505) | function getOptionCategoryInterval(model) {
function shouldShowAllLabels (line 34516) | function shouldShowAllLabels(axis) {
function symbolPathSetColor (line 34911) | function symbolPathSetColor(color, innerColor) {
function createSymbol (line 34942) | function createSymbol(symbolType, x, y, w, h, color, keepAspect) {
function createList (line 35012) | function createList(seriesModel) {
function createScale (line 35027) | function createScale(dataExtent, option) {
function mixinAxisModelCommonMethods (line 35053) | function mixinAxisModelCommonMethods(Model$$1) {
function isAroundEqual$1 (line 35070) | function isAroundEqual$1(a, b) {
function contain$1 (line 35074) | function contain$1(points, x, y) {
function Region (line 35125) | function Region(name, geometries, cp) {
function decode (line 35297) | function decode(json) {
function decodePolygon (line 35341) | function decodePolygon(coordinate, encodeOffsets, encodeScale) {
function createAxisLabels (line 35449) | function createAxisLabels(axis) {
function createAxisTicks (line 35464) | function createAxisTicks(axis, tickModel) {
function makeCategoryLabels (line 35471) | function makeCategoryLabels(axis) {
function makeCategoryLabelsActually (line 35480) | function makeCategoryLabelsActually(axis, labelModel) {
function makeCategoryTicks (line 35507) | function makeCategoryTicks(axis, tickModel) {
function makeRealNumberLabels (line 35549) | function makeRealNumberLabels(axis) {
function getListCache (line 35566) | function getListCache(axis, prop) {
function listCacheGet (line 35571) | function listCacheGet(cache, key) {
function listCacheSet (line 35579) | function listCacheSet(cache, key, value) {
function makeAutoCategoryInterval (line 35584) | function makeAutoCategoryInterval(axis) {
function calculateCategoryInterval (line 35596) | function calculateCategoryInterval(axis) {
function fetchAutoCategoryIntervalCalculationParams (line 35679) | function fetchAutoCategoryIntervalCalculationParams(axis) {
function makeLabelsByNumericCategoryInterval (line 35692) | function makeLabelsByNumericCategoryInterval(axis, categoryInterval, onl...
function makeLabelsByCustomizedCategoryInterval (line 35752) | function makeLabelsByCustomizedCategoryInterval(axis, categoryInterval, ...
function fixExtentWithBands (line 36043) | function fixExtentWithBands(extent, nTick) {
function fixOnBandTicksCoords (line 36060) | function fixOnBandTicksCoords(axis, ticksCoords, tickCategoryInterval, a...
function getDefaultLabel (line 36298) | function getDefaultLabel(data, dataIndex) {
function SymbolClz$1 (line 36346) | function SymbolClz$1(data, idx, seriesScope) {
function getScale (line 36367) | function getScale(symbolSize) {
function driftSymbol (line 36371) | function driftSymbol(dx, dy) {
function getLabelDefaultText (line 36628) | function getLabelDefaultText(idx, opt) {
function highDownOnUpdate (line 36641) | function highDownOnUpdate(fromState, toState) {
function SymbolDraw (line 36724) | function SymbolDraw(symbolCtor) {
function symbolNeedsDraw (line 36732) | function symbolNeedsDraw(data, point, idx, opt) {
function updateIncrementalAndHover (line 36840) | function updateIncrementalAndHover(el) {
function normalizeUpdateOpt (line 36857) | function normalizeUpdateOpt(opt) {
function makeSeriesScope (line 36880) | function makeSeriesScope(data) {
function prepareDataCoordInfo (line 36918) | function prepareDataCoordInfo(coordSys, data, valueOrigin) {
function getValueStart (line 36955) | function getValueStart(valueAxis, valueOrigin) {
function getStackedOnPoint (line 36981) | function getStackedOnPoint(dataCoordInfo, coordSys, data, idx) {
function diffData (line 37044) | function diffData(oldData, newData) {
function isPointNull (line 37229) | function isPointNull(p) {
function drawSegment (line 37233) | function drawSegment(
function drawMono (line 37304) | function drawMono(
function drawNonMono (line 37363) | function drawNonMono(
function getBoundingBox (line 37456) | function getBoundingBox(points, smoothConstraint) {
function isPointsSame (line 37622) | function isPointsSame(points1, points2) {
function getSmooth (line 37636) | function getSmooth(smooth) {
function getAxisExtentWithGap (line 37640) | function getAxisExtentWithGap(axis) {
function getStackedOnPoints (line 37658) | function getStackedOnPoints(coordSys, data, dataCoordInfo) {
function createGridClipShape (line 37671) | function createGridClipShape(cartesian, hasAnimation, forSymbol, seriesM...
function createPolarClipShape (line 37725) | function createPolarClipShape(polar, hasAnimation, forSymbol, seriesMode...
function createClipShape (line 37765) | function createClipShape(coordSys, hasAnimation, forSymbol, seriesModel) {
function turnPointsIntoStep (line 37771) | function turnPointsIntoStep(points, coordSys, stepTurnAt) {
function getVisualGradient (line 37811) | function getVisualGradient(data, coordSys) {
function getIsIgnoreFunc (line 37904) | function getIsIgnoreFunc(seriesModel, data, coordSys) {
function canShowAllSymbolForCategory (line 37940) | function canShowAllSymbolForCategory(categoryAxis, data) {
function dataEach (line 38443) | function dataEach(data, idx) {
function progress (line 38526) | function progress(params, data) {
function dimAxisMapper (line 38693) | function dimAxisMapper(dim) {
function Cartesian2D (line 38814) | function Cartesian2D(name) {
function getAxisType (line 39414) | function getAxisType(axisDim, option) {
function isAxisUsedInTheGrid (line 39515) | function isAxisUsedInTheGrid(axisModel, gridModel, ecModel) {
function Grid (line 39519) | function Grid(gridModel, ecModel, api) {
function fixAxisOnZero (line 39587) | function fixAxisOnZero(axesMap, otherAxisDim, axis, onZeroRecords) {
function canOnZeroToAxis (line 39638) | function canOnZeroToAxis(axis) {
function adjustAxes (line 39683) | function adjustAxes() {
function createAxisCreator (line 39882) | function createAxisCreator(axisType) {
function unionExtent (line 39972) | function unionExtent(data, axis, seriesModel) {
function updateAxisTransform (line 40006) | function updateAxisTransform(axis, coordBase) {
function findAxesModels (line 40031) | function findAxesModels(seriesModel, ecModel) {
function isCartesian2D (line 40051) | function isCartesian2D(seriesModel) {
function endTextLayout (line 40542) | function endTextLayout(opt, textPosition, textRotate, extent) {
function fixMinMaxLabelShow (line 40584) | function fixMinMaxLabelShow(axisModel, labelEls, tickEls) {
function ignoreEl (line 40642) | function ignoreEl(el) {
function isTwoLabelOverlapped (line 40646) | function isTwoLabelOverlapped(current, next, labelLayout) {
function isNameLocationCenter (line 40666) | function isNameLocationCenter(nameLocation) {
function buildAxisTick (line 40670) | function buildAxisTick(axisBuilder, axisModel, opt) {
function buildAxisLabel (line 40729) | function buildAxisLabel(axisBuilder, axisModel, opt) {
function collect (line 40854) | function collect(ecModel, api) {
function collectAxesInfo (line 40887) | function collectAxesInfo(result, ecModel, api) {
function makeAxisPointerModel (line 40990) | function makeAxisPointerModel(
function collectSeriesInfo (line 41038) | function collectSeriesInfo(result, ecModel) {
function getLinkGroupIndex (line 41082) | function getLinkGroupIndex(linksOption, axis) {
function checkPropInLink (line 41096) | function checkPropInLink(linkPropValue, axisPropValue) {
function fixValue (line 41102) | function fixValue(axisModel) {
function getAxisInfo (line 41149) | function getAxisInfo(axisModel) {
function getAxisPointerModel (line 41154) | function getAxisPointerModel(axisModel) {
function isHandleTrigger (line 41159) | function isHandleTrigger(axisPointerModel) {
function makeKey (line 41167) | function makeKey(model) {
function updateAxisPointer (line 41255) | function updateAxisPointer(axisView, axisModel, ecModel, api, payload, f...
function disposeAxisPointer (line 41267) | function disposeAxisPointer(axisView, ecModel, api) {
function layout$1 (line 41317) | function layout$1(gridModel, axisModel, opt) {
function setLabel (line 41869) | function setLabel(
function fixPosition (line 41890) | function fixPosition(style, labelPositionOutside) {
function removeRect (line 42177) | function removeRect(dataIndex, animationModel, el) {
function removeSector (line 42189) | function removeSector(dataIndex, animationModel, el) {
function updateStyle (line 42230) | function updateStyle(
function getLineWidth (line 42268) | function getLineWidth(itemModel, rawLayout) {
function createLarge (line 42295) | function createLarge(seriesModel, group, incremental) {
function largePathFindDataIndex (line 42329) | function largePathFindDataIndex(largePath, x, y) {
function setLargeStyle (line 42363) | function setLargeStyle(el, seriesModel, data) {
function updateDataSelected (line 42761) | function updateDataSelected(uid, seriesModel, hasAnimation, api) {
function toggleItemSelected (line 42793) | function toggleItemSelected(el, layout, isSelected, selectedOffset, hasA...
function PiePiece (line 42817) | function PiePiece(data, idx) {
function adjustSingleSide (line 43307) | function adjustSingleSide(list, cx, cy, r, dir, viewWidth, viewHeight) {
function avoidOverlap (line 43398) | function avoidOverlap(labelLayoutList, cx, cy, r, viewWidth, viewHeight) {
function isPositionCenter (line 43435) | function isPositionCenter(layout) {
function LargeSymbolDraw (line 44002) | function LargeSymbolDraw() {
function IndicatorAxis (line 44314) | function IndicatorAxis(dim, scale, radiusExtent) {
function Radar (line 44363) | function Radar(radarModel, ecModel, api) {
function increaseInterval (line 44504) | function increaseInterval(interval) {
function defaultsShow (line 44619) | function defaultsShow(opt, show) {
function getColorIndex (line 44824) | function getColorIndex(areaOrLine, areaOrLineColorList, idx) {
function normalizeSymbolSize (line 45053) | function normalizeSymbolSize(symbolSize) {
function createSymbol$$1 (line 45071) | function createSymbol$$1(data, idx) {
function updateSymbols (line 45093) | function updateSymbols(oldPoints, newPoints, symbolGroup, data, idx, isI...
function getInitialPoints (line 45116) | function getInitialPoints(points) {
function isValidPoint (line 45314) | function isValidPoint(point) {
function getValueMissingPoint (line 45318) | function getValueMissingPoint(coordSys) {
function getBoundingRect$1 (line 45662) | function getBoundingRect$1(regions) {
function buildGraphic (line 45754) | function buildGraphic(mapRecord, boundingRect) {
function makeInvoker (line 45894) | function makeInvoker(methodName) {
function mapNotExistsError (line 45908) | function mapNotExistsError(mapName) {
function retrieveMap (line 45916) | function retrieveMap(mapName) {
function take (line 46202) | function take(zr, resourceKey, userKey) {
function release (line 46207) | function release(zr, resourceKey, userKey) {
function isTaken (line 46216) | function isTaken(zr, resourceKey) {
function getStore (line 46220) | function getStore(zr) {
function RoamController (line 46262) | function RoamController(zr) {
function mousedown (line 46362) | function mousedown(e) {
function mousemove (line 46381) | function mousemove(e) {
function mouseup (line 46409) | function mouseup(e) {
function mousewheel (line 46415) | function mousewheel(e) {
function pinch (line 46460) | function pinch(e) {
function checkPointerAndTrigger (line 46470) | function checkPointerAndTrigger(controller, eventName, behaviorToCheck, ...
function trigger (line 46483) | function trigger(controller, eventName, behaviorToCheck, e, contollerEve...
function isAvailableBehavior (line 46496) | function isAvailableBehavior(behaviorToCheck, e, settings) {
function updateViewOnPan (line 46529) | function updateViewOnPan(controllerHost, dx, dy) {
function updateViewOnZoom (line 46545) | function updateViewOnZoom(controllerHost, zoomDelta, zoomX, zoomY) {
function onIrrelevantElement (line 46598) | function onIrrelevantElement(e, api, targetCoordSysModel) {
function getFixedItemStyle (line 46627) | function getFixedItemStyle(model, scale) {
function updateMapSelectHandler (line 46640) | function updateMapSelectHandler(mapDraw, mapOrGeoModel, regionsGroup, ap...
function updateMapSelected (line 46682) | function updateMapSelected(mapOrGeoModel, regionsGroup) {
function MapDraw (line 46696) | function MapDraw(api, updateGroup) {
function makeActionBase (line 46987) | function makeActionBase() {
function onRegionHighDown (line 47227) | function onRegionHighDown(toHighOrDown) {
function enterRegionHighDown (line 47234) | function enterRegionHighDown(highDownRecord, toHighOrDown) {
function updateCenterAndZoom (line 47290) | function updateCenterAndZoom(
function TransformDummy (line 47431) | function TransformDummy() {
function View (line 47436) | function View(name) {
function doConvert$1 (line 47706) | function doConvert$1(methodName, ecModel, finder, value) {
function Geo (line 47743) | function Geo(name, map$$1, nameMap, invertLongitute) {
function doConvert (line 47901) | function doConvert(methodName, ecModel, finder, value) {
function resizeGeo (line 47941) | function resizeGeo(geoModel, api) {
function setGeoCoords (line 48027) | function setGeoCoords(geo, model) {
function dataStatistics (line 48281) | function dataStatistics(datas, statisticType) {
function linkList (line 48470) | function linkList(opt) {
function transferInjection (line 48503) | function transferInjection(opt, res) {
function changeInjection (line 48517) | function changeInjection(opt, res) {
function cloneShallowInjection (line 48522) | function cloneShallowInjection(opt, res) {
function getLinkedData (line 48540) | function getLinkedData(dataType) {
function isMainData (line 48547) | function isMainData(data) {
function linkAll (line 48551) | function linkAll(mainData, datas, opt) {
function linkSingle (line 48558) | function linkSingle(data, dataType, mainData, opt) {
function Tree (line 48909) | function Tree(hostModel, levelOptions, leavesOption) {
function buildHierarchy (line 49048) | function buildHierarchy(dataNode, parentNode) {
function addChild (line 49096) | function addChild(child, node) {
function init$2 (line 49324) | function init$2(root) {
function firstWalk (line 49376) | function firstWalk(node, separation) {
function secondWalk (line 49413) | function secondWalk(node) {
function separation (line 49420) | function separation(cb) {
function radialCoordinate (line 49431) | function radialCoordinate(x, y) {
function getViewRect (line 49446) | function getViewRect(seriesModel, api) {
function executeShifts (line 49466) | function executeShifts(node) {
function apportion (line 49500) | function apportion(subtreeV, subtreeW, ancestor, separation) {
function nextRight (line 49551) | function nextRight(node) {
function nextLeft (line 49564) | function nextLeft(node) {
function nextAncestor (line 49578) | function nextAncestor(nodeInLeft, node, ancestor) {
function moveSubtree (line 49596) | function moveSubtree(wl, wr, shift) {
function defaultSeparation (line 49611) | function defaultSeparation(node1, node2) {
function symbolNeedsDraw$1 (line 49868) | function symbolNeedsDraw$1(data, dataIndex) {
function getTreeNodeStyle (line 49876) | function getTreeNodeStyle(node, itemModel, seriesScope) {
function updateNode (line 49894) | function updateNode(data, dataIndex, symbolEl, group, seriesModel, serie...
function removeNode (line 50001) | function removeNode(data, dataIndex, symbolEl, group, seriesModel, serie...
function getEdgeShape (line 50035) | function getEdgeShape(seriesScope, sourceLayout, targetLayout) {
function eachAfter (line 50180) | function eachAfter(root, callback, separation) {
function eachBefore (line 50207) | function eachBefore(root, callback) {
function commonLayout (line 50248) | function commonLayout(seriesModel, api) {
function retrieveTargetInfo (line 50380) | function retrieveTargetInfo(payload, validPayloadTypes, seriesModel) {
function getPathToRoot (line 50401) | function getPathToRoot(node) {
function aboveViewRoot (line 50410) | function aboveViewRoot(viewRoot, node) {
function wrapTreePathInfo (line 50416) | function wrapTreePathInfo(node, seriesModel) {
function completeTreeValue (line 50737) | function completeTreeValue(dataNode) {
function setDefault (line 50774) | function setDefault(levels, ecModel) {
function Breadcrumb (line 50825) | function Breadcrumb(containerGroup) {
function makeItemPoints (line 50954) | function makeItemPoints(x, y, itemWidth, itemHeight, head, tail) {
function packEventData (line 50967) | function packEventData(el, seriesModel, itemNode) {
function createWrap (line 51018) | function createWrap() {
function dualTravel (line 51305) | function dualTravel(thisViewChildren, oldViewChildren, parentGroup, same...
function clearStorage (line 51346) | function clearStorage(storage) {
function renderFinally (line 51357) | function renderFinally() {
function onSelect (line 51657) | function onSelect(node) {
function createStorage (line 51747) | function createStorage() {
function renderNode (line 51755) | function renderNode(
function calculateZ (line 52017) | function calculateZ(depth, zInLevel) {
function handleRootToNode (line 52066) | function handleRootToNode(model, index) {
function preprocessForPiecewise (line 52332) | function preprocessForPiecewise(thisOption) {
function preprocessForSpecifiedCategory (line 52346) | function preprocessForSpecifiedCategory(thisOption) {
function normalizeVisualRange (line 52383) | function normalizeVisualRange(thisOption, isCategory) {
function makePartialColorVisualHandler (line 52409) | function makePartialColorVisualHandler(applyValue) {
function doMapToArray (line 52420) | function doMapToArray(normalized) {
function makeApplyVisual (line 52427) | function makeApplyVisual(visualType) {
function doMapCategory (line 52433) | function doMapCategory(normalized) {
function doMapFixed (line 52442) | function doMapFixed() {
function makeDoMap (line 52446) | function makeDoMap(sourceExtent) {
function getSpecifiedVisual (line 52463) | function getSpecifiedVisual(value) {
function setVisualToOption (line 52475) | function setVisualToOption(thisOption, visualArr) {
function updatePossible (line 52705) | function updatePossible(val, index) {
function littleThan (line 52715) | function littleThan(close, a, b) {
function travelTree (line 52768) | function travelTree(
function buildVisuals (line 52826) | function buildVisuals(
function calculateColor (line 52844) | function calculateColor(visuals) {
function calculateBorderColor (line 52861) | function calculateBorderColor(borderColorSaturation, thisNodeColor) {
function getValueVisualDefine (line 52867) | function getValueVisualDefine(visuals, name) {
function buildVisualMapping (line 52874) | function buildVisualMapping(
function getRangeVisual (line 52931) | function getRangeVisual(nodeModel, name) {
function mapVisual$1 (line 52938) | function mapVisual$1(nodeModel, visuals, child, index, mapping, seriesMo...
function squarify (line 53120) | function squarify(node, options, hideChildren, depth) {
function initChildren (line 53207) | function initChildren(node, nodeModel, totalArea, options, hideChildren,...
function filterByThreshold (line 53259) | function filterByThreshold(nodeModel, totalArea, sum, orderBy, orderedCh...
function sort$1 (line 53292) | function sort$1(viewChildren, orderBy) {
function statistic (line 53310) | function statistic(nodeModel, children, orderBy) {
function worst (line 53353) | function worst(row, rowFixedLength, ratio) {
function position (line 53379) | function position(row, rowFixedLength, rect, halfGapWidth, flush) {
function estimateRootSize (line 53426) | function estimateRootSize(seriesModel, targetInfo, viewRoot, containerWi...
function calculateRootPosition (line 53472) | function calculateRootPosition(layoutInfo, rootRect, targetInfo) {
function prunning (line 53511) | function prunning(node, clipRect, viewAbovePath, viewRoot, depth) {
function getUpperLabelHeight (line 53545) | function getUpperLabelHeight(model) {
function generateNodeKey (line 53591) | function generateNodeKey(id) {
function Node (line 53926) | function Node(id, dataIndex) {
function Edge (line 54002) | function Edge(n1, n2, dataIndex) {
function beforeLink (line 54247) | function beforeLink(nodeData, edgeData) {
function isLine (line 54490) | function isLine(shape) {
function makeSymbolTypeKey (line 54561) | function makeSymbolTypeKey(symbolCategory) {
function createSymbol$1 (line 54567) | function createSymbol$1(name, lineData, idx) {
function createLine (line 54589) | function createLine(points) {
function setLinePoints (line 54598) | function setLinePoints(targetShape, points) {
function updateSymbolAndLabelBeforeLineUpdate (line 54616) | function updateSymbolAndLabelBeforeLineUpdate() {
function Line$1 (line 54722) | function Line$1(lineData, idx, seriesScope) {
function LineDraw (line 54963) | function LineDraw(ctor) {
function doAdd (line 55006) | function doAdd(lineDraw, lineData, idx, seriesScope) {
function doUpdate (line 55018) | function doUpdate(lineDraw, oldLineData, newLineData, oldIdx, newIdx, se...
function updateIncrementalAndHover (line 55058) | function updateIncrementalAndHover(el) {
function makeSeriesScope$1 (line 55077) | function makeSeriesScope$1(lineData) {
function isPointNaN (line 55100) | function isPointNaN(pt) {
function lineNeedsDraw (line 55104) | function lineNeedsDraw(pts) {
function getNodeGlobalScale (line 55127) | function getNodeGlobalScale(seriesModel) {
function getSymbolSize$1 (line 55144) | function getSymbolSize$1(node) {
function intersectCurveCircle (line 55177) | function intersectCurveCircle(curvePoints, center, radius) {
function getItemOpacity (line 55346) | function getItemOpacity(item, opacityPath) {
function fadeOutItem (line 55351) | function fadeOutItem(item, opacityPath, opacityRatio) {
function fadeInItem (line 55372) | function fadeInItem(item, opacityPath) {
function normalize$1 (line 55937) | function normalize$1(a) {
function simpleLayout$1 (line 56008) | function simpleLayout$1(seriesModel) {
function simpleLayoutEdge (line 56023) | function simpleLayoutEdge(graph) {
function circularLayout$1 (line 56142) | function circularLayout$1(seriesModel, basedOn) {
function forceLayout$1 (line 56308) | function forceLayout$1(nodes, edges, opts) {
function getViewRect$1 (line 56595) | function getViewRect$1(seriesModel, api, aspect) {
function parsePosition (line 56908) | function parsePosition(seriesModel, api) {
function formatLabel (line 56924) | function formatLabel(label, labelFormatter) {
function FunnelPiece (line 57465) | function FunnelPiece(data, idx) {
function getViewRect$2 (line 57678) | function getViewRect$2(seriesModel, api) {
function getSortedIndices (line 57687) | function getSortedIndices(data, sort) {
function labelLayout$1 (line 57710) | function labelLayout$1(data) {
function createParallelIfNeeded (line 57967) | function createParallelIfNeeded(option) {
function mergeAxisOptionFromParallel (line 57989) | function mergeAxisOptionFromParallel(option) {
function getSpanSign (line 58165) | function getSpanSign(handleEnds, handleIndex) {
function restrict$1 (line 58172) | function restrict$1(value, extend) {
function Parallel (line 58212) | function Parallel(parallelModel, ecModel, api) {
function restrict (line 58668) | function restrict(len, extent) {
function layoutAxisWithoutExpand (line 58672) | function layoutAxisWithoutExpand(axisIndex, layoutInfo) {
function layoutAxisWithExpand (line 58681) | function layoutAxisWithExpand(axisIndex, layoutInfo) {
function create$2 (line 58739) | function create$2(ecModel, api) {
function getAxisType$1 (line 58906) | function getAxisType$1(axisName, option) {
function BrushController (line 59177) | function BrushController(zr) {
function getKey (line 59403) | function getKey(brushOption, index) {
function oldGetKey (line 59408) | function oldGetKey(cover, index) {
function addOrUpdate (line 59412) | function addOrUpdate(newIndex, oldIndex) {
function remove (line 59430) | function remove(oldIndex) {
function doEnableBrush (line 59465) | function doEnableBrush(controller, brushOption) {
function doDisableBrush (line 59481) | function doDisableBrush(controller) {
function createCover (line 59493) | function createCover(controller, brushOption) {
function endCreating (line 59501) | function endCreating(controller, creatingCover) {
function updateCoverShape (line 59510) | function updateCoverShape(controller, cover) {
function updateZ$1 (line 59517) | function updateZ$1(cover, brushOption) {
function updateCoverAfterCreation (line 59526) | function updateCoverAfterCreation(controller, cover) {
function getCoverRenderer (line 59531) | function getCoverRenderer(cover) {
function getPanelByPoint (line 59536) | function getPanelByPoint(controller, e, localCursorPoint) {
function getPanelByCover (line 59550) | function getPanelByCover(controller, cover) {
function clearCovers (line 59561) | function clearCovers(controller) {
function trigger$1 (line 59572) | function trigger$1(controller, opt) {
function shouldShowCover (line 59589) | function shouldShowCover(controller) {
function getTrackEnds (line 59605) | function getTrackEnds(track) {
function createBaseRectCover (line 59611) | function createBaseRectCover(doDrift, controller, brushOption, edgeNames) {
function updateBaseRect (line 59642) | function updateBaseRect(controller, cover, localRange, brushOption) {
function updateCommon (line 59673) | function updateCommon(controller, cover) {
function updateRectShape (line 59699) | function updateRectShape(controller, cover, name, x, y, w, h) {
function makeStyle (line 59706) | function makeStyle(brushOption) {
function formatRectRange (line 59710) | function formatRectRange(x, y, x2, y2) {
function getTransform$1 (line 59720) | function getTransform$1(controller) {
function getGlobalDirection (line 59724) | function getGlobalDirection(controller, localDirection) {
function driftRect (line 59744) | function driftRect(toRectRange, fromRectRange, controller, cover, name, ...
function driftPolygon (line 59762) | function driftPolygon(controller, cover, dx, dy, e) {
function toLocalDelta (line 59775) | function toLocalDelta(controller, dx, dy) {
function clipByPanel (line 59783) | function clipByPanel(controller, cover, data) {
function pointsToRect (line 59791) | function pointsToRect(points) {
function resetCursor (line 59805) | function resetCursor(controller, e, localCursorPoint) {
function preventDefault (line 59834) | function preventDefault(e) {
function mainShapeContain (line 59839) | function mainShapeContain(cover, x, y) {
function updateCoverByMouse (line 59843) | function updateCoverByMouse(controller, e, localCursorPoint, isEnd) {
function determineBrushType (line 59898) | function determineBrushType(brushType, panel) {
function handleDragEnd (line 59957) | function handleDragEnd(e) {
function getLineRenderer (line 60049) | function getLineRenderer(xyIndex) {
function makeRectPanelClipPath (line 60118) | function makeRectPanelClipPath(rect) {
function makeLinearBrushOtherExtent (line 60125) | function makeLinearBrushOtherExtent(rect, specifiedXYIndex) {
function makeRectIsTargetByCursor (line 60135) | function makeRectIsTargetByCursor(rect, api, targetModel) {
function normalizeRect (line 60144) | function normalizeRect(rect) {
function fromAxisAreaSelect (line 60313) | function fromAxisAreaSelect(axisModel, ecModel, payload) {
function getCoverInfoList (line 60321) | function getCoverInfoList(axisModel) {
function getCoordSysModel (line 60335) | function getCoordSysModel(axisModel, ecModel) {
function checkTrigger (line 60482) | function checkTrigger(view, triggerOn) {
function setEncodeAndDimensions (line 60577) | function setEncodeAndDimensions(source, seriesModel) {
function convertDimNameToNumber (line 60603) | function convertDimNameToNumber(dimName) {
function add (line 60670) | function add(newDataIndex) {
function update (line 60675) | function update(newDataIndex, oldDataIndex) {
function remove (line 60685) | function remove(oldDataIndex) {
function createGridClipShape$1 (line 60766) | function createGridClipShape$1(coordSys, seriesModel, cb) {
function createLinePoints (line 60789) | function createLinePoints(data, dataIndex, dimensions, coordSys) {
function addEl (line 60801) | function addEl(data, dataGroup, dataIndex, dimensions, coordSys) {
function makeSeriesScope$2 (line 60813) | function makeSeriesScope$2(seriesModel) {
function updateElCommon (line 60822) | function updateElCommon(el, data, dataIndex, seriesScope) {
function isEmptyValue (line 60865) | function isEmptyValue(val, axisType) {
function progress (line 60921) | function progress(params, data) {
function beforeLink (line 61010) | function beforeLink(nodeData, edgeData) {
function getItemOpacity$1 (line 61184) | function getItemOpacity$1(item, opacityPath) {
function fadeOutItem$1 (line 61188) | function fadeOutItem$1(item, opacityPath, opacityRatio) {
function fadeInItem$1 (line 61205) | function fadeInItem$1(item, opacityPath) {
function createGridClipShape$2 (line 61561) | function createGridClipShape$2(rect, seriesModel, cb) {
function getViewRect$3 (line 61671) | function getViewRect$3(seriesModel, api) {
function layoutSankey (line 61680) | function layoutSankey(nodes, edges, nodeWidth, nodeGap, width, height, i...
function computeNodeValues (line 61691) | function computeNodeValues(nodes) {
function computeNodeBreadths (line 61710) | function computeNodeBreadths(nodes, edges, nodeWidth, width, height, ori...
function isNodeDepth (line 61781) | function isNodeDepth(node) {
function adjustNodeWithNodeAlign (line 61786) | function adjustNodeWithNodeAlign(nodes, nodeAlign, orient, maxDepth) {
function moveSinksRight (line 61825) | function moveSinksRight(nodes, maxDepth) {
function scaleNodeBreadths (line 61839) | function scaleNodeBreadths(nodes, kx, orient) {
function computeNodeDepths (line 61858) | function computeNodeDepths(nodes, edges, height, width, nodeGap, iterati...
function prepareNodesByBreadth (line 61875) | function prepareNodesByBreadth(nodes, orient) {
function initializeNodeDepth (line 61902) | function initializeNodeDepth(nodesByBreadth, edges, height, width, nodeG...
function resolveCollisions (line 61947) | function resolveCollisions(nodesByBreadth, nodeGap, height, width, orien...
function relaxRightToLeft (line 62002) | function relaxRightToLeft(nodesByBreadth, alpha, orient) {
function weightedTarget (line 62021) | function weightedTarget(edge, orient) {
function weightedSource (line 62025) | function weightedSource(edge, orient) {
function center$1 (line 62029) | function center$1(node, orient) {
function getEdgeValue (line 62035) | function getEdgeValue(edge) {
function sum (line 62039) | function sum(array, f, orient) {
function relaxLeftToRight (line 62059) | function relaxLeftToRight(nodesByBreadth, alpha, orient) {
function computeEdgeDepths (line 62083) | function computeEdgeDepths(nodes, orient) {
function createNormalBox (line 62516) | function createNormalBox(itemLayout, data, dataIndex, constDim, isInit) {
function updateNormalBoxData (line 62532) | function updateNormalBoxData(itemLayout, el, data, dataIndex, isInit) {
function transInit (line 62559) | function transInit(points, dim, itemLayout) {
function groupSeriesByAxis (line 62666) | function groupSeriesByAxis(ecModel) {
function calculateBase (line 62689) | function calculateBase(groupItem) {
function layoutSingleSeries (line 62741) | function layoutSingleSeries(seriesModel, offset, boxWidth) {
function createNormalBox$1 (line 63123) | function createNormalBox$1(itemLayout, dataIndex, isInit) {
function setBoxCommon (line 63135) | function setBoxCommon(el, data, dataIndex, isSimpleBox) {
function transInit$1 (line 63156) | function transInit$1(points, itemLayout) {
function createLarge$1 (line 63189) | function createLarge$1(seriesModel, group, incremental) {
function setLargeStyle$1 (line 63213) | function setLargeStyle$1(sign, el, seriesModel, data) {
function progress (line 63315) | function progress(params, data) {
function getColor (line 63331) | function getColor(sign, model) {
function getBorderColor (line 63337) | function getBorderColor(sign, model) {
function normalProgress (line 63406) | function normalProgress(params, data) {
function largeProgress (line 63490) | function largeProgress(params, data) {
function getSign (line 63530) | function getSign(data, dataIndex, openVal, closeVal, closeDim) {
function calculateCandleWidth (line 63549) | function calculateCandleWidth(seriesModel, data) {
function normalizeSymbolSize$1 (line 63703) | function normalizeSymbolSize$1(symbolSize) {
function updateRipplePath (line 63710) | function updateRipplePath(rippleGroup, effectCfg) {
function EffectSymbol (line 63728) | function EffectSymbol(data, idx) {
function compatEc2 (line 64023) | function compatEc2(seriesOpt) {
function EffectLine (line 64352) | function EffectLine(lineData, idx, seriesScope) {
function Polyline$2 (line 64547) | function Polyline$2(lineData, idx, seriesScope) {
function EffectPolyline (line 64646) | function EffectPolyline(lineData, idx, seriesScope) {
function LargeLineDraw (line 64856) | function LargeLineDraw() {
function progress (line 65013) | function progress(params, lineData) {
function normalize$2 (line 65271) | function normalize$2(a) {
function dataEach (line 65293) | function dataEach(data, idx) {
function Heatmap (line 65422) | function Heatmap() {
function getIsInPiecewiseRange (line 65577) | function getIsInPiecewiseRange(dataExtent, pieceList, selected) {
function getIsInContinuousRange (line 65612) | function getIsInContinuousRange(dataExtent, range) {
function isGeoCoordSys (line 65623) | function isGeoCoordSys(coordSys) {
function getSymbolMeta (line 66093) | function getSymbolMeta(data, dataIndex, itemModel, opt) {
function prepareBarLength (line 66147) | function prepareBarLength(itemModel, symbolRepeat, layout, opt, output) {
function convertToCoordOnAxis (line 66182) | function convertToCoordOnAxis(axis, value) {
function prepareSymbolSize (line 66187) | function prepareSymbolSize(
function prepareLineWidth (line 66231) | function prepareLineWidth(itemModel, symbolScale, rotation, opt, output) {
function prepareLayoutInfo (line 66250) | function prepareLayoutInfo(
function createPath (line 66339) | function createPath(symbolMeta) {
function createOrUpdateRepeatSymbols (line 66360) | function createOrUpdateRepeatSymbols(bar, opt, symbolMeta, isUpdate) {
function createOrUpdateSingleSymbol (line 66450) | function createOrUpdateSingleSymbol(bar, opt, symbolMeta, isUpdate) {
function createOrUpdateBarRect (line 66502) | function createOrUpdateBarRect(bar, symbolMeta, isUpdate) {
function createOrUpdateClip (line 66525) | function createOrUpdateClip(bar, opt, symbolMeta, isUpdate) {
function getItemModel (line 66555) | function getItemModel(data, dataIndex) {
function getAnimationDelayParams (line 66562) | function getAnimationDelayParams(path) {
function isAnimationEnabled (line 66570) | function isAnimationEnabled() {
function updateHoverAnimation (line 66575) | function updateHoverAnimation(path, symbolMeta) {
function createBar (line 66593) | function createBar(data, opt, symbolMeta, isUpdate) {
function updateBar (line 66619) | function updateBar(bar, opt, symbolMeta) {
function removeBar (line 66640) | function removeBar(data, dataIndex, animationModel, bar) {
function getShapeStr (line 66666) | function getShapeStr(data, symbolMeta) {
function eachPath (line 66674) | function eachPath(bar, cb, context) {
function updateAttr (line 66681) | function updateAttr(el, immediateAttrs, animationAttrs, symbolMeta, isUp...
function updateCommon$1 (line 66694) | function updateCommon$1(bar, opt, symbolMeta) {
function toIntTimes (line 66732) | function toIntTimes(times) {
function Single (line 66903) | function Single(axisModel, ecModel, api) {
function create$3 (line 67188) | function create$3(ecModel, api) {
function layout$2 (line 67246) | function layout$2(axisModel, opt) {
function getAxisType$2 (line 67516) | function getAxisType$2(axisName, option) {
function processOnAxis (line 67734) | function processOnAxis(axisInfo, newValue, updaters, dontSnap, outputFin...
function buildPayloadsBySeries (line 67771) | function buildPayloadsBySeries(value, axisInfo) {
function showPointer (line 67834) | function showPointer(showValueMap, axisInfo, value, payloadBatch) {
function showTooltip (line 67838) | function showTooltip(dataByCoordSys, axisInfo, payloadInfo, value) {
function updateModelActually (line 67882) | function updateModelActually(showValueMap, axesInfo, outputFinder) {
function dispatchTooltipActually (line 67912) | function dispatchTooltipActually(dataByCoordSys, point, payload, dispatc...
function dispatchHighDownActually (line 67939) | function dispatchHighDownActually(axesInfo, dispatchAction, api) {
function findInputAxisInfo (line 67977) | function findInputAxisInfo(inputAxesInfo, axisInfo) {
function makeMapperParam (line 67988) | function makeMapperParam(axisInfo) {
function illegalPoint (line 67998) | function illegalPoint(point) {
function register (line 68143) | function register(key, api, handler) {
function initGlobalListeners (line 68157) | function initGlobalListeners(zr, api) {
function dispatchTooltipFinally (line 68182) | function dispatchTooltipFinally(pendings, api) {
function onLeave (line 68199) | function onLeave(record, e, dispatchAction) {
function doEnter (line 68203) | function doEnter(currTrigger, record, e, dispatchAction) {
function makeDispatchAction (line 68207) | function makeDispatchAction(api) {
function unregister (line 68238) | function unregister(key, api) {
function BaseAxisPointer (line 68343) | function BaseAxisPointer() {
function updateProps$1 (line 68794) | function updateProps$1(animationModel, moveAnimation, el, props) {
function propsEqual (line 68804) | function propsEqual(lastProps, newProps) {
function updateLabelShowHide (line 68817) | function updateLabelShowHide(labelEl, axisPointerModel) {
function getHandleTransProps (line 68821) | function getHandleTransProps(trans) {
function updateMandatoryProps (line 68828) | function updateMandatoryProps(group, axisPointerModel, silent) {
function buildElStyle (line 68865) | function buildElStyle(axisPointerModel) {
function buildLabelElOption (line 68883) | function buildLabelElOption(
function confineInContainer (line 68945) | function confineInContainer(position, width, height, api) {
function getValueLabel (line 68963) | function getValueLabel(value, axis, ecModel, seriesDataIndices, opt) {
function getTransformedPosition (line 69004) | function getTransformedPosition(axis, value, layoutInfo) {
function buildCartesianSingleLabelElOption (line 69016) | function buildCartesianSingleLabelElOption(
function makeLineShape (line 69035) | function makeLineShape(p1, p2, xDimIndex) {
function makeRectShape (line 69050) | function makeRectShape(xy, wh, xDimIndex) {
function makeSectorShape (line 69060) | function makeSectorShape(cx, cy, r0, r, startAngle, endAngle) {
function getCartesian (line 69165) | function getCartesian(grid, axis) {
function getAxisDimIndex (line 69200) | function getAxisDimIndex(axis) {
function getPointDimIndex (line 69380) | function getPointDimIndex(axis) {
function getGlobalExtent (line 69384) | function getGlobalExtent(coordSys, dimIndex) {
function keyGetter (line 69740) | function keyGetter(item) {
function process (line 69756) | function process(status, idx, oldIdx) {
function createGridClipShape$3 (line 69859) | function createGridClipShape$3(rect, seriesModel, cb) {
function themeRiverLayout$1 (line 69942) | function themeRiverLayout$1(data, seriesModel, height) {
function computeBaseline (line 69996) | function computeBaseline(data) {
function completeTreeValue$1 (line 70274) | function completeTreeValue$1(dataNode) {
function SunburstPiece (line 70342) | function SunburstPiece(node, seriesModel, ecModel) {
function getLabelAttr (line 70604) | function getLabelAttr(name) {
function getNodeColor (line 70657) | function getNodeColor(node, seriesModel, ecModel) {
function getRootId (line 70693) | function getRootId(node) {
function isNodeHighlighted (line 70703) | function isNodeHighlighted(node, activeNode, policy) {
function fillDefaultColor (line 70719) | function fillDefaultColor(node, seriesModel, color) {
function dualTravel (line 70796) | function dualTravel(newChildren, oldChildren) {
function doRenderNode (line 70819) | function doRenderNode(newNode, oldNode) {
function removeNode (line 70855) | function removeNode(node) {
function renderRollUp (line 70866) | function renderRollUp(virtualRoot, viewRoot) {
function handleRootToNode (line 71006) | function handleRootToNode(model, index) {
function handleHighlight (line 71033) | function handleHighlight(model, index) {
function handleUnhighlight (line 71055) | function handleUnhighlight(model, index) {
function initChildren$1 (line 71228) | function initChildren$1(node, isAsc) {
function sort$2 (line 71248) | function sort$2(children, sortOrder) {
function dataToCoordSize (line 71305) | function dataToCoordSize(dataSize, dataItem) {
function dataToCoordSize$1 (line 71358) | function dataToCoordSize$1(dataSize, dataItem) {
function dataToCoordSize$2 (line 71414) | function dataToCoordSize$2(dataSize, dataItem) {
function dataToCoordSize$3 (line 71464) | function dataToCoordSize$3(dataSize, dataItem) {
function setIncrementalAndHoverLayer (line 71714) | function setIncrementalAndHoverLayer(el) {
function createEl (line 71753) | function createEl(elOption) {
function updateEl (line 71797) | function updateEl(el, dataIndex, elOption, animatableModel, data, isInit...
function prepareStyleTransition (line 71878) | function prepareStyleTransition(prop, targetStyle, elOptionStyle, oldElS...
function makeRenderItem (line 71885) | function makeRenderItem(customSeries, data, ecModel, api) {
function wrapEncodeDef (line 72098) | function wrapEncodeDef(data) {
function createOrUpdate$1 (line 72111) | function createOrUpdate$1(el, dataIndex, elOption, animatableModel, grou...
function doCreateOrUpdate (line 72118) | function doCreateOrUpdate(el, dataIndex, elOption, animatableModel, grou...
function mergeChildren (line 72193) | function mergeChildren(el, dataIndex, elOption, animatableModel, data) {
function diffGroupChildren (line 72241) | function diffGroupChildren(context) {
function getKey (line 72255) | function getKey(item, idx) {
function processAddUpdate (line 72260) | function processAddUpdate(newIndex, oldIndex) {
function applyExtraBefore (line 72278) | function applyExtraBefore(extra, model) {
function applyExtraAfter (line 72288) | function applyExtraAfter(itemStyle, extra) {
function processRemove (line 72298) | function processRemove(oldIndex) {
function getPathData (line 72304) | function getPathData(shape) {
function hasOwnPathData (line 72309) | function hasOwnPathData(shape) {
function hasOwn (line 72313) | function hasOwn(host, prop) {
function getSeriesStackId$1 (line 72355) | function getSeriesStackId$1(seriesModel) {
function getAxisKey$1 (line 72360) | function getAxisKey$1(polar, axis) {
function barLayoutPolar (line 72369) | function barLayoutPolar(seriesType, ecModel, api) {
function calRadialBar (line 72511) | function calRadialBar(barSeries, api) {
function RadiusAxis (line 72653) | function RadiusAxis(scale, radiusExtent) {
function AngleAxis (line 72707) | function AngleAxis(scale, angleExtent) {
function getAxisType$3 (line 73130) | function getAxisType$3(axisDim, option) {
function resizePolar (line 73222) | function resizePolar(polar, polarModel, api) {
function updatePolarScale (line 73241) | function updatePolarScale(ecModel, api) {
function setAxis (line 73283) | function setAxis(axis, axisModel) {
function getAxisLineShape (line 73379) | function getAxisLineShape(polar, rExtent, angle) {
function getRadiusIdx (line 73392) | function getRadiusIdx(polar) {
function fixAngleOverlap (line 73398) | function fixAngleOverlap(list) {
function layoutAxis (line 73800) | function layoutAxis(polar, radiusAxisModel, axisAngle) {
function getLabelPosition (line 73890) | function getLabelPosition(value, axisModel, axisPointerModel, polar, lab...
function makeAction (line 74250) | function makeAction(method, actionInfo) {
function Calendar (line 74317) | function Calendar(calendarModel, ecModel, api) {
function cellSizeSpecified (line 74457) | function cellSizeSpecified(cellSize, idx) {
function doConvert$2 (line 74746) | function doConvert$2(methodName, ecModel, finder, value) {
function mergeAndNormalizeLayoutParams (line 74884) | function mergeAndNormalizeLayoutParams(target, raw) {
function addPoints (line 75066) | function addPoints(date) {
function createEl$1 (line 75819) | function createEl$1(id, targetElParent, elOption, elMap) {
function removeEl (line 75838) | function removeEl(existEl, elMap) {
function getCleanedElOption (line 75850) | function getCleanedElOption(elOption) {
function isSetLoc (line 75861) | function isSetLoc(obj, props) {
function setKeyInfoToNewElOption (line 75869) | function setKeyInfoToNewElOption(resultItem, newElOption) {
function mergeNewElOptionToExist (line 75891) | function mergeNewElOptionToExist(existList, index, newElOption) {
function setLayoutInfoToExist (line 75929) | function setLayoutInfoToExist(existItem, newElOption) {
function setEventData (line 75946) | function setEventData(el, graphicModel, elOption) {
function register$1 (line 75986) | function register$1(name, ctor) {
function get$1 (line 75990) | function get$1(name) {
function layout$3 (line 76109) | function layout$3(group, componentModel, api) {
function makeBackground (line 76136) | function makeBackground(rect, componentModel) {
function processFeature (line 76211) | function processFeature(newIndex, oldIndex) {
function createIconPaths (line 76272) | function createIconPaths(featureModel, feature, featureName) {
function isUserFeatureName (line 76426) | function isUserFeatureName(featureName) {
function SaveAsImage (line 76453) | function SaveAsImage(model) {
function MagicType (line 76549) | function MagicType(model) {
function groupSeries (line 76745) | function groupSeries(ecModel) {
function assembleSeriesWithCategoryAxis (line 76791) | function assembleSeriesWithCategoryAxis(series) {
function assembleOtherSeries (line 76827) | function assembleOtherSeries(series) {
function getContentFromModel (line 76850) | function getContentFromModel(ecModel) {
function trim$1 (line 76867) | function trim$1(str) {
function isTSVFormat (line 76873) | function isTSVFormat(block) {
function parseTSVContents (line 76886) | function parseTSVContents(tsv) {
function parseListContents (line 76915) | function parseListContents(str) {
function parseContents (line 76958) | function parseContents(str, blockMetaList) {
function DataView (line 76990) | function DataView(model) {
function close (line 77073) | function close() {
function tryMergeDataOption (line 77132) | function tryMergeDataOption(newData, originalData) {
function BrushTargetManager (line 77272) | function BrushTargetManager(option, ecModel, opt) {
function formatMinMax (line 77422) | function formatMinMax(minMax) {
function parseFinder$1 (line 77427) | function parseFinder$1(ecModel, option) {
function axisConvert (line 77571) | function axisConvert(axisNameIndex, to, coordSys, rangeOrCoordRange) {
function axisDiffProcessor (line 77611) | function axisDiffProcessor(axisNameIndex, values, refer, scales) {
function getScales (line 77620) | function getScales(xyMinMaxCurr, xyMinMaxOrigin) {
function getSize (line 77629) | function getSize(xyMinMax) {
function push (line 77662) | function push(ecModel, newSnapshot) {
function pop (line 77698) | function pop(ecModel) {
function clear$1 (line 77721) | function clear$1(ecModel) {
function count (line 77729) | function count(ecModel) {
function giveStore (line 77739) | function giveStore(ecModel) {
function isCoordSupported (line 77798) | function isCoordSupported(coordType) {
function createNameEach (line 77810) | function createNameEach(names, attrs) {
function createLinkedNodesFinder (line 77856) | function createLinkedNodesFinder(forEachNode, forEachEdgeType, edgeIdGet...
function restrictSet (line 78166) | function restrictSet(fromWindow, toWindow, fromExtent, toExtent, toValue) {
function isInWindow (line 78323) | function isInWindow(value) {
function calculateDataExtent (line 78329) | function calculateDataExtent(axisProxy, axisDim, seriesModels) {
function fixExtentByAxis (line 78361) | function fixExtentByAxis(axisProxy, dataExtent) {
function setAxisModel (line 78398) | function setAxisModel(axisProxy, isRestore) {
function setMinMaxSpan (line 78420) | function setMinMaxSpan(axisProxy) {
function retrieveRaw (line 78981) | function retrieveRaw(option) {
function updateRangeUse (line 78992) | function updateRangeUse(dataZoomModel, rawOption) {
function save (line 79080) | function save(coordModel, axisModel, store, coordIndex) {
function DataZoom (line 79338) | function DataZoom(model, ecModel, api) {
function setBatch (line 79443) | function setBatch(dimName, coordSys, minMax) {
function findDataZoom (line 79464) | function findDataZoom(dimName, axisModel, ecModel) {
function retrieveAxisSetting (line 79492) | function retrieveAxisSetting(option) {
function updateBackBtnStatus (line 79503) | function updateBackBtnStatus(featureModel, ecModel) {
function updateZoomBtnStatus (line 79510) | function updateZoomBtnStatus(featureModel, ecModel, view, payload, api) {
function addForAxis (line 79580) | function addForAxis(axisName, dataZoomOpt) {
function forEachComponent (line 79615) | function forEachComponent(mainType, cb) {
function Restore (line 79645) | function Restore(model) {
function assembleTransition (line 79854) | function assembleTransition(duration) {
function assembleFont (line 79868) | function assembleFont(textStyleModel) {
function assembleCssText (line 79894) | function assembleCssText(tooltipModel) {
function TooltipContent (line 79944) | function TooltipContent(container, api) {
function TooltipRichContent (line 80153) | function TooltipRichContent(api) {
function buildTooltipModel (line 81039) | function buildTooltipModel(modelCascade) {
function makeDispatchAction$1 (line 81061) | function makeDispatchAction$1(payload, api) {
function refixTooltipPosition (line 81065) | function refixTooltipPosition(x, y, content, viewWidth, viewHeight, gapH...
function confineTooltipPosition (line 81089) | function confineTooltipPosition(x, y, content, viewWidth, viewHeight) {
function calcTooltipPosition (line 81102) | function calcTooltipPosition(position, rect, contentSize) {
function isCenterAlign (line 81134) | function isCenterAlign(align) {
function removeDuplicate (line 81252) | function removeDuplicate(arr) {
function hasKeys (line 81288) | function hasKeys(obj) {
function createVisualMappings (line 81304) | function createVisualMappings(option, stateList, supplementVisualOption) {
function replaceVisualOption (line 81348) | function replaceVisualOption(thisOption, newOption, keys) {
function applyVisual (line 81378) | function applyVisual(stateList, visualMappings, data, getValueState, sco...
function incrementalApplyVisual (line 81431) | function incrementalApplyVisual(stateList, visualMappings, getValueState...
function getLineSelectors (line 81552) | function getLineSelectors(xyIndex) {
function inLineRange (line 81581) | function inLineRange(p, range) {
function linkOthers (line 81679) | function linkOthers(seriesIndex) {
function brushed (line 81685) | function brushed(rangeInfoList) {
function stepAParallel (line 81711) | function stepAParallel(seriesModel, seriesIndex) {
function stepAOthers (line 81723) | function stepAOthers(seriesModel, seriesIndex, rangeInfoList) {
function dispatchAction (line 81786) | function dispatchAction(api, throttleType, throttleDelay, brushSelected,...
function doDispatch (line 81813) | function doDispatch(api, brushSelected) {
function checkInRange (line 81825) | function checkInRange(selectorsByBrushType, rangeInfoList, data, dataInd...
function getSelectorsByBrushType (line 81836) | function getSelectorsByBrushType(seriesModel) {
function brushModelNotControll (line 81858) | function brushModelNotControll(brushModel, seriesIndex) {
function bindSelector (line 81869) | function bindSelector(area) {
function getBoundingRectFromMinMax (line 81907) | function getBoundingRectFromMinMax(minMax) {
function generateBrushOption (line 82060) | function generateBrushOption(option, brushOption) {
function updateController (line 82184) | function updateController(brushModel, ecModel, api, payload) {
function Brush (line 82275) | function Brush(model, ecModel, api) {
function compatibleEC2 (line 82682) | function compatibleEC2(opt) {
function transferItem (line 82718) | function transferItem(opt) {
function has$1 (line 82740) | function has$1(obj, attr) {
function setOrigin (line 83501) | function setOrigin(targetGroup) {
function getBound (line 83509) | function getBound(rect) {
function toBound (line 83517) | function toBound(fromPos, from, to, dimIdx, boundIdx) {
function makeBtn (line 83675) | function makeBtn(position, iconPath, onclick, willRotate) {
function handleFrame (line 83768) | function handleFrame() {
function getViewRect$4 (line 83827) | function getViewRect$4(model, api) {
function makeIcon (line 83838) | function makeIcon(timelineModel, objPath, rect, opts) {
function giveSymbol (line 83853) | function giveSymbol(hostModel, itemStyleModel, group, opt, symbol, callb...
function pointerMoveTo (line 83910) | function pointerMoveTo(pointer, dataIndex, axis, timelineModel, noAnimat...
function fillLabel (line 83978) | function fillLabel(opt) {
function hasXOrY (line 84166) | function hasXOrY(item) {
function hasXAndY (line 84170) | function hasXAndY(item) {
function markerTypeCalculatorWithExtent (line 84198) | function markerTypeCalculatorWithExtent(
function dataTransform (line 84260) | function dataTransform(seriesModel, item) {
function getAxisInfo$1 (line 84309) | function getAxisInfo$1(item, data, coordSys, seriesModel) {
function dataDimToCoordDim (line 84329) | function dataDimToCoordDim(seriesModel, dataDim) {
function dataFilter$1 (line 84348) | function dataFilter$1(coordSys, item) {
function dimValueGetter (line 84354) | function dimValueGetter(item, dimName, dataIndex, dimIndex) {
function numCalculate (line 84362) | function numCalculate(data, valueDataDim, type) {
function updateMarkerLayout (line 84454) | function updateMarkerLayout(mpData, seriesModel, api) {
function createList$1 (line 84581) | function createList$1(coordSys, seriesModel, mpModel) {
function isInifinity (line 84789) | function isInifinity(val) {
function ifMarkLineHasOnlyDim (line 84794) | function ifMarkLineHasOnlyDim(dimIndex, fromCoord, toCoord, coordSys) {
function markLineFilter (line 84801) | function markLineFilter(coordSys, item) {
function updateSingleMarkerEndLayout (line 84823) | function updateSingleMarkerEndLayout(
function updateDataVisualAndLayout (line 85003) | function updateDataVisualAndLayout(data, idx, isFrom) {
function createList$2 (line 85029) | function createList$2(coordSys, seriesModel, mlModel) {
function isInifinity$1 (line 85216) | function isInifinity$1(val) {
function ifMarkLineHasOnlyDim$1 (line 85221) | function ifMarkLineHasOnlyDim$1(dimIndex, fromCoord, toCoord, coordSys) {
function markAreaFilter (line 85226) | function markAreaFilter(coordSys, item) {
function getSingleMarkerEndPoint (line 85257) | function getSingleMarkerEndPoint(data, idx, dims, seriesModel, api) {
function createList$3 (line 85451) | function createList$3(coordSys, seriesModel, maModel) {
function legendSelectActionHandler (line 85785) | function legendSelectActionHandler(methodName, payload, ecModel) {
function dispatchSelectAction (line 86229) | function dispatchSelectAction(name, api) {
function dispatchHighlightAction (line 86236) | function dispatchHighlightAction(seriesName, dataName, api, excludeSerie...
function dispatchDownplayAction (line 86249) | function dispatchDownplayAction(seriesName, dataName, api, excludeSeries...
function mergeAndNormalizeLayoutParams$1 (line 86410) | function mergeAndNormalizeLayoutParams$1(legendModel, target, raw) {
function createPageButton (line 86528) | function createPageButton(name, iconIdx) {
function getItemInfo (line 86812) | function getItemInfo(el) {
function intersect (line 86824) | function intersect(itemInfo, winStart) {
function setLabel (line 87642) | function setLabel(handleIndex) {
function getOtherDim (line 87800) | function getOtherDim(thisDim) {
function getCursor (line 87807) | function getCursor(orient) {
function register$2 (line 87908) | function register$2(api, dataZoomInfo) {
function unregister$1 (line 87963) | function unregister$1(api, dataZoomId) {
function generateCoordId (line 87981) | function generateCoordId(coordModel) {
function giveStore$1 (line 87989) | function giveStore$1(api) {
function createController (line 87996) | function createController(api, newRecord) {
function cleanStore (line 88027) | function cleanStore(store) {
function dispatchAction$1 (line 88039) | function dispatchAction$1(api, batch) {
function mergeControllerParams (line 88049) | function mergeControllerParams(dataZoomInfos) {
function makeMover (line 88249) | function makeMover(getPercentDelta) {
function has$2 (line 88450) | function has$2(obj, name) {
function getColorVisual (line 88565) | function getColorVisual(seriesModel, visualMapModel, value, valueState) {
function toFixed (line 88963) | function toFixed(val) {
function completeSingle (line 89044) | function completeSingle(base) {
function completeInactive (line 89083) | function completeInactive(base, stateExist, stateAbsent) {
function completeController (line 89113) | function completeController(controller) {
function setStop (line 89403) | function setStop(value, valueState) {
function getColorStopValues (line 89452) | function getColorStopValues(visualMapModel, valueState, dataExtent) {
function getter (line 89588) | function getter(key) {
function setter (line 89592) | function setter(key, value) {
function getItemAlign (line 89664) | function getItemAlign(visualMapModel, api, itemSize) {
function makeHighDownBatch (line 89702) | function makeHighDownBatch(batch, visualMapModel) {
function createPolygon (line 90515) | function createPolygon(points, cursor, onDrift, onDragEnd) {
function createHandlePoints (line 90529) | function createHandlePoints(handleIndex, textSize) {
function createIndicatorPoints (line 90535) | function createIndicatorPoints(isRange, halfHoverLinkSize, pos, extentMa...
function getHalfHoverLinkSize (line 90547) | function getHalfHoverLinkSize(visualMapModel, dataExtent, sizeExtent) {
function useHoverLinkOnHandle (line 90556) | function useHoverLinkOnHandle(visualMapModel) {
function getCursor$1 (line 90561) | function getCursor$1(orient) {
function has (line 90793) | function has(obj, state, visualType) {
function setStop (line 90945) | function setStop(interval, valueState) {
function normalizeReverse (line 91153) | function normalizeReverse(thisOption, pieceList) {
function renderItem (line 91221) | function renderItem(item) {
function onHoverLink (line 91264) | function onHoverLink(method) {
function createNode (line 91446) | function createNode(tagName) {
function initVML (line 91468) | function initVML() {
function parseInt10$1 (line 92546) | function parseInt10$1(val) {
function VMLPainter (line 92553) | function VMLPainter(root, storage) {
function createMethodNotSupport (line 92723) | function createMethodNotSupport(method) {
function createElement (line 92741) | function createElement(name) {
function round4 (line 92762) | function round4(val) {
function isAroundZero$1 (line 92766) | function isAroundZero$1(val) {
function pathHasFill (line 92770) | function pathHasFill(style, isText) {
function pathHasStroke (line 92775) | function pathHasStroke(style, isText) {
function setTransform (line 92780) | function setTransform(svgEl, m) {
function attr (line 92786) | function attr(el, key, val) {
function attrXLink (line 92793) | function attrXLink(el, key, val) {
function bindStyle (line 92797) | function bindStyle(svgEl, style, isText, el) {
function pathDataToString$1 (line 92844) | function pathDataToString$1(path) {
function setVerticalAlign (line 93228) | function setVerticalAlign(textSvgEl, verticalAlign) {
function Diff (line 93263) | function Diff() {}
function execEditLength (line 93299) | function execEditLength() {
function buildValues (line 93393) | function buildValues(diff, components, newArr, oldArr) {
function clonePath (line 93426) | function clonePath(path) {
function Definable (line 93456) | function Definable(
function GradientManager (line 93701) | function GradientManager(zrId, svgRoot) {
function ClippathManager (line 93922) | function ClippathManager(zrId, svgRoot) {
function ShadowManager (line 94089) | function ShadowManager(zrId, svgRoot) {
function hasShadow (line 94275) | function hasShadow(style) {
function parseInt10$2 (line 94288) | function parseInt10$2(val) {
function getSvgProxy (line 94292) | function getSvgProxy(el) {
function checkParentAvailable (line 94307) | function checkParentAvailable(parent, child) {
function insertAfter (line 94311) | function insertAfter(parent, child, prevSibling) {
function prepend (line 94319) | function prepend(parent, child) {
function remove$1 (line 94327) | function remove$1(parent, child) {
function getTextSvgElement (line 94333) | function getTextSvgElement(displayable) {
function getSvgElement (line 94337) | function getSvgElement(displayable) {
function createMethodNotSupport$1 (line 94656) | function createMethodNotSupport$1(method) {
FILE: public/backend/vendors/js/extensions/lang-all.js
function a (line 1) | function a(n){if(t[n])return t[n].exports;var r=t[n]={i:n,l:!1,exports:{...
function a (line 1) | function a(e,a,t){var n=e+" ";switch(t){case"ss":return n+=1===e?"sekund...
function a (line 1) | function a(e){return e>1&&e<5&&1!=~~(e/10)}
function t (line 1) | function t(e,t,n,r){var s=e+" ";switch(n){case"s":return t||r?"pár seku...
function a (line 1) | function a(e,a,t,n){var r={m:["eine Minute","einer Minute"],h:["eine Stu...
function a (line 2) | function a(e,a,t,n){var r={m:["eine Minute","einer Minute"],h:["eine Stu...
function a (line 2) | function a(e,a,t,n){var r={m:["eine Minute","einer Minute"],h:["eine Stu...
function a (line 2) | function a(e){return e instanceof Function||"[object Function]"===Object...
function a (line 2) | function a(e,a,t,n){var r={s:["mõne sekundi","mõni sekund","paar sekun...
function a (line 2) | function a(e,a,n,r){var s="";switch(n){
function t (line 3) | function t(e,a){return e<10?a?r[e]:n[e]:e}
function a (line 3) | function a(e,a,t){var n=e+" ";switch(t){case"ss":return n+=1===e?"sekund...
function a (line 3) | function a(e,a,t,n){var r=e;switch(t){case"s":return n||a?"néhány más...
function t (line 3) | function t(e){return(e?"":"[múlt] ")+"["+n[this.day()]+"] LT[-kor]"}
function a (line 3) | function a(e){return e%100==11||e%10!=1}
function t (line 3) | function t(e,t,n,r){var s=e+" ";switch(n){case"s":return t||r?"nokkrar s...
function a (line 4) | function a(e,a,t,n){var r={m:["eng Minutt","enger Minutt"],h:["eng Stonn...
function t (line 4) | function t(e){return r(e.substr(0,e.indexOf(" ")))?"a "+e:"an "+e}
function n (line 4) | function n(e){return r(e.substr(0,e.indexOf(" ")))?"viru "+e:"virun "+e}
function r (line 4) | function r(e){if(e=parseInt(e,10),isNaN(e))return!1;if(e<0)return!0;if(e...
function a (line 4) | function a(e,a,t,n){return a?"kelios sekundės":n?"kelių sekundžių":"...
function t (line 4) | function t(e,a,t,n){return a?r(t)[0]:n?r(t)[1]:r(t)[2]}
function n (line 4) | function n(e){return e%10==0||e>10&&e<20}
function r (line 4) | function r(e){return d[e].split("_")}
function s (line 4) | function s(e,a,s,d){var i=e+" ";return 1===e?i+t(e,a,s[0],d):a?i+(n(e)?r...
function a (line 4) | function a(e,a,t){return t?a%10==1&&a%100!=11?e[2]:e[3]:a%10==1&&a%100!=...
function t (line 4) | function t(e,t,n){return e+" "+a(s[n],e,t)}
function n (line 4) | function n(e,t,n){return a(s[n],e,t)}
function r (line 4) | function r(e,a){return a?"dažas sekundes":"dažÄm sekundÄ“m"}
function a (line 4) | function a(e){return e%10<5&&e%10>1&&~~(e/10)%10!=1}
function t (line 4) | function t(e,t,n){var r=e+" ";switch(n){case"ss":return r+(a(e)?"sekundy...
function a (line 5) | function a(e,a,t){var n={ss:"secunde",mm:"minute",hh:"ore",dd:"zile",MM:...
function a (line 5) | function a(e,a){var t=e.split("_");return a%10==1&&a%100!=11?t[0]:a%10>=...
function t (line 5) | function t(e,t,n){var r={ss:t?"Ñекунда_Ñекунды_ÑекунÐ...
function a (line 5) | function a(e){return e>1&&e<5}
function t (line 5) | function t(e,t,n,r){var s=e+" ";switch(n){case"s":return t||r?"pár sekÃ...
function a (line 5) | function a(e,a,t,n){var r=e+" ";switch(t){case"s":return a||n?"nekaj sek...
function a (line 5) | function a(e,a){var t=e.split("_");return a%10==1&&a%100!=11?t[0]:a%10>=...
function t (line 5) | function t(e,t,n){var r={ss:t?"Ñекунда_Ñекунди_ÑекунÐ...
function n (line 5) | function n(e,a){var t={nominative:"неділÑ_понеділок_віÐ...
function r (line 5) | function r(e){return function(){return e+"о"+(11===this.hours()?"б":""...
FILE: public/backend/vendors/js/extensions/locale-all.js
function a (line 1) | function a(n){if(t[n])return t[n].exports;var r=t[n]={i:n,l:!1,exports:{...
function a (line 1) | function a(e,a){var t=e.split("_");return a%10==1&&a%100!=11?t[0]:a%10>=...
function t (line 1) | function t(e,t,n){var r={ss:t?"секунда_секунды_секунд":"секунду_секунды_...
function a (line 1) | function a(e,a,t){var n=e+" ";switch(t){case"ss":return n+=1===e?"sekund...
function a (line 1) | function a(e){return e>1&&e<5&&1!=~~(e/10)}
function t (line 1) | function t(e,t,n,r){var s=e+" ";switch(n){case"s":return t||r?"pár sekun...
function a (line 2) | function a(e,a,t,n){var r={m:["eine Minute","einer Minute"],h:["eine Stu...
function a (line 2) | function a(e,a,t,n){var r={m:["eine Minute","einer Minute"],h:["eine Stu...
function a (line 2) | function a(e,a,t,n){var r={m:["eine Minute","einer Minute"],h:["eine Stu...
function a (line 2) | function a(e){return e instanceof Function||"[object Function]"===Object...
function a (line 2) | function a(e,a,t,n){var r={s:["mõne sekundi","mõni sekund","paar sekundi...
function a (line 3) | function a(e,a,n,r){var s="";switch(n){case"s":return r?"muutaman sekunn...
function t (line 3) | function t(e,a){return e<10?a?r[e]:n[e]:e}
function a (line 3) | function a(e,a,t){var n=e+" ";switch(t){case"ss":return n+=1===e?"sekund...
function a (line 3) | function a(e,a,t,n){var r=e;switch(t){case"s":return n||a?"néhány másodp...
function t (line 3) | function t(e){return(e?"":"[múlt] ")+"["+n[this.day()]+"] LT[-kor]"}
function a (line 3) | function a(e){return e%100==11||e%10!=1}
function t (line 3) | function t(e,t,n,r){var s=e+" ";switch(n){case"s":return t||r?"nokkrar s...
function a (line 4) | function a(e,a,t,n){var r={m:["eng Minutt","enger Minutt"],h:["eng Stonn...
function t (line 4) | function t(e){return r(e.substr(0,e.indexOf(" ")))?"a "+e:"an "+e}
function n (line 4) | function n(e){return r(e.substr(0,e.indexOf(" ")))?"viru "+e:"virun "+e}
function r (line 4) | function r(e){if(e=parseInt(e,10),isNaN(e))return!1;if(e<0)return!0;if(e...
function a (line 4) | function a(e,a,t,n){return a?"kelios sekundės":n?"kelių sekundžių":"keli...
function t (line 4) | function t(e,a,t,n){return a?r(t)[0]:n?r(t)[1]:r(t)[2]}
function n (line 4) | function n(e){return e%10==0||e>10&&e<20}
function r (line 4) | function r(e){return d[e].split("_")}
function s (line 4) | function s(e,a,s,d){var i=e+" ";return 1===e?i+t(e,a,s[0],d):a?i+(n(e)?r...
function a (line 4) | function a(e,a,t){return t?a%10==1&&a%100!=11?e[2]:e[3]:a%10==1&&a%100!=...
function t (line 4) | function t(e,t,n){return e+" "+a(s[n],e,t)}
function n (line 4) | function n(e,t,n){return a(s[n],e,t)}
function r (line 4) | function r(e,a){return a?"dažas sekundes":"dažām sekundēm"}
function a (line 4) | function a(e){return e%10<5&&e%10>1&&~~(e/10)%10!=1}
function t (line 4) | function t(e,t,n){var r=e+" ";switch(n){case"ss":return r+(a(e)?"sekundy...
function a (line 5) | function a(e,a,t){var n={ss:"secunde",mm:"minute",hh:"ore",dd:"zile",MM:...
function a (line 5) | function a(e,a){var t=e.split("_");return a%10==1&&a%100!=11?t[0]:a%10>=...
function t (line 5) | function t(e,t,n){var r={ss:t?"секунда_секунды_секунд":"секунду_секунды_...
function a (line 5) | function a(e){return e>1&&e<5}
function t (line 5) | function t(e,t,n,r){var s=e+" ";switch(n){case"s":return t||r?"pár sekún...
function a (line 5) | function a(e,a,t,n){var r=e+" ";switch(t){case"s":return a||n?"nekaj sek...
function a (line 6) | function a(e,a){var t=e.split("_");return a%10==1&&a%100!=11?t[0]:a%10>=...
function t (line 6) | function t(e,t,n){var r={ss:t?"секунда_секунди_секунд":"секунду_секунди_...
function n (line 6) | function n(e,a){var t={nominative:"неділя_понеділок_вівторок_середа_четв...
function r (line 6) | function r(e){return function(){return e+"о"+(11===this.hours()?"б":"")+...
FILE: public/backend/vendors/js/extensions/transition.js
function transitionEnd (line 27) | function transitionEnd() {
FILE: public/backend/vendors/js/extensions/wNumb.js
function strReverse (line 41) | function strReverse ( a ) {
function strStartsWith (line 46) | function strStartsWith ( input, match ) {
function strEndsWith (line 51) | function strEndsWith ( input, match ) {
function throwEqualError (line 56) | function throwEqualError( F, a, b ) {
function isValidNumber (line 63) | function isValidNumber ( input ) {
function toFixed (line 68) | function toFixed ( value, decimals ) {
function formatTo (line 77) | function formatTo ( decimals, thousand, mark, prefix, postfix, encoder, ...
function formatFrom (line 169) | function formatFrom ( decimals, thousand, mark, prefix, postfix, encoder...
function validate (line 253) | function validate ( inputOptions ) {
function passAll (line 312) | function passAll ( options, method, input ) {
function wNumb (line 327) | function wNumb ( options ) {
FILE: public/backend/vendors/js/forms/extended/maxlength/bootstrap-maxlength.js
function utf8CharByteCount (line 61) | function utf8CharByteCount(character) {
function utf8Length (line 73) | function utf8Length(string) {
function inputLength (line 87) | function inputLength(input) {
function truncateChars (line 114) | function truncateChars(input, maxlength) {
function charsLeftThreshold (line 147) | function charsLeftThreshold(input, threshold, maxlength) {
function remainingChars (line 162) | function remainingChars(input, maxlength) {
function showRemaining (line 172) | function showRemaining(currentInput, indicator) {
function hideRemaining (line 184) | function hideRemaining(currentInput, indicator) {
function updateMaxLengthHTML (line 203) | function updateMaxLengthHTML(currentInputText, maxLengthThisInput, typed...
function manageRemainingVisibility (line 243) | function manageRemainingVisibility(remaining, currentInput, maxLengthCur...
function getPosition (line 276) | function getPosition(currentInput) {
function placeWithCSS (line 292) | function placeWithCSS(placement, maxLengthIndicator) {
function place (line 330) | function place(currentInput, maxLengthIndicator) {
function isPlacementMutable (line 408) | function isPlacementMutable() {
function getMaxLength (line 419) | function getMaxLength(currentInput) {
function firstInit (line 447) | function firstInit() {
FILE: public/backend/vendors/js/forms/extended/typeahead/handlebars.js
function SafeString (line 33) | function SafeString(string) {
function escapeChar (line 64) | function escapeChar(chr) {
function extend (line 68) | function extend(obj, value) {
function escapeExpression (line 96) | function escapeExpression(string) {
function isEmpty (line 113) | function isEmpty(value) {
function Exception (line 134) | function Exception(/* message */) {
function HandlebarsEnvironment (line 171) | function HandlebarsEnvironment(helpers, partials) {
function registerDefaultHelpers (line 203) | function registerDefaultHelpers(instance) {
function log (line 324) | function log(level, obj) { logger.log(level, obj); }
function checkRevision (line 344) | function checkRevision(compilerInfo) {
function template (line 364) | function template(templateSpec, env) {
function programWithDepth (line 438) | function programWithDepth(i, fn, data /*, $depth */) {
function program (line 451) | function program(i, fn, data) {
function invokePartial (line 462) | function invokePartial(partial, name, context, helpers, partials, data) {
function noop (line 472) | function noop() { return ""; }
function popStack (line 802) | function popStack(n) {
function lex (line 807) | function lex() {
function stripFlags (line 895) | function stripFlags(open, close) {
function strip (line 1074) | function strip(start, end) {
function Parser (line 1163) | function Parser () { this.yy = {}; }
function parse (line 1179) | function parse(input) {
function Literal (line 1199) | function Literal(value) {
function JavaScriptCompiler (line 1203) | function JavaScriptCompiler() {}
function Compiler (line 2100) | function Compiler() {}
function precompile (line 2520) | function precompile(input, options) {
function compile (line 2535) | function compile(input, options, env) {
FILE: public/backend/vendors/js/forms/select/select2.full.js
function hasProp (line 65) | function hasProp(obj, prop) {
function normalize (line 77) | function normalize(name, baseName) {
function makeRequire (line 187) | function makeRequire(relName, forceSync) {
function makeNormalize (line 204) | function makeNormalize(relName) {
function makeLoad (line 210) | function makeLoad(depName) {
function callDep (line 216) | function callDep(name) {
function splitPrefix (line 233) | function splitPrefix(name) {
function makeRelParts (line 245) | function makeRelParts(relName) {
function makeConfig (line 293) | function makeConfig(name) {
function BaseConstructor (line 509) | function BaseConstructor () {
function getMethods (line 526) | function getMethods (theClass) {
function DecoratedClass (line 552) | function DecoratedClass () {
function ctr (line 570) | function ctr () {
function Results (line 846) | function Results ($element, options, dataAdapter) {
function BaseSelection (line 1409) | function BaseSelection ($element, options) {
function SingleSelection (line 1568) | function SingleSelection () {
function MultipleSelection (line 1675) | function MultipleSelection ($element, options) {
function Placeholder (line 1790) | function Placeholder (decorated, $element, options) {
function AllowClear (line 1842) | function AllowClear () { }
function Search (line 1956) | function Search (decorated, $element, options) {
function EventRelay (line 2191) | function EventRelay () { }
function Translation (line 2241) | function Translation (dict) {
function BaseAdapter (line 3128) | function BaseAdapter ($element, options) {
function SelectAdapter (line 3171) | function SelectAdapter ($element, options) {
function ArrayAdapter (line 3457) | function ArrayAdapter ($element, options) {
function onlyItem (line 3496) | function onlyItem (item) {
function AjaxAdapter (line 3541) | function AjaxAdapter ($element, options) {
function request (line 3602) | function request () {
function Tags (line 3650) | function Tags (decorated, $element, options) {
function wrapper (line 3689) | function wrapper (obj, child) {
function Tokenizer (line 3777) | function Tokenizer (decorated, $element, options) {
function createAndSelect (line 3797) | function createAndSelect (data) {
function select (line 3820) | function select (data) {
function MinimumInputLength (line 3894) | function MinimumInputLength (decorated, $e, options) {
function MaximumInputLength (line 3925) | function MaximumInputLength (decorated, $e, options) {
function MaximumSelectionLength (line 3957) | function MaximumSelectionLength (decorated, $e, options) {
function Dropdown (line 4013) | function Dropdown ($element, options) {
function Search (line 4056) | function Search () { }
function HidePlaceholder (line 4171) | function HidePlaceholder (decorated, $element, options, dataAdapter) {
function InfiniteScroll (line 4214) | function InfiniteScroll (decorated, $element, options, dataAdapter) {
function AttachBody (line 4308) | function AttachBody (decorated, $element, options) {
function countResults (line 4555) | function countResults (data) {
function MinimumResultsForSearch (line 4571) | function MinimumResultsForSearch (decorated, $element, options, dataAdap...
function SelectOnClose (line 4595) | function SelectOnClose () { }
function CloseOnSelect (line 4646) | function CloseOnSelect () { }
function Defaults (line 4779) | function Defaults () {
function stripDiacritics (line 4989) | function stripDiacritics (text) {
function matcher (line 4998) | function matcher (params, data) {
function Options (line 5191) | function Options (options, $element) {
function upperCaseLetter (line 5266) | function upperCaseLetter(_, letter) {
function syncCssClasses (line 5956) | function syncCssClasses ($dest, $src, adapter) {
function _containerAdapter (line 6002) | function _containerAdapter (clazz) {
function ContainerCSS (line 6006) | function ContainerCSS () { }
function _dropdownAdapter (line 6059) | function _dropdownAdapter (clazz) {
function DropdownCSS (line 6063) | function DropdownCSS () { }
function InitSelection (line 6114) | function InitSelection (decorated, $element, options) {
function InputData (line 6158) | function InputData (decorated, $element, options) {
function getSelected (line 6176) | function getSelected (data, selectedIds) {
function oldMatcher (line 6286) | function oldMatcher (matcher) {
function Query (line 6329) | function Query (decorated, $element, options) {
function AttachContainer (line 6356) | function AttachContainer (decorated, $element, options) {
function StopPropagation (line 6375) | function StopPropagation () { }
function StopPropagation (line 6414) | function StopPropagation () { }
function handler (line 6542) | function handler(event) {
function nullLowestDelta (line 6655) | function nullLowestDelta() {
function shouldAdjustOldDeltas (line 6659) | function shouldAdjustOldDeltas(orgEvent, absDelta) {
FILE: public/backend/vendors/js/forms/select/select2.js
function hasProp (line 65) | function hasProp(obj, prop) {
function normalize (line 77) | function normalize(name, baseName) {
function makeRequire (line 187) | function makeRequire(relName, forceSync) {
function makeNormalize (line 204) | function makeNormalize(relName) {
function makeLoad (line 210) | function makeLoad(depName) {
function callDep (line 216) | function callDep(name) {
function splitPrefix (line 233) | function splitPrefix(name) {
function makeRelParts (line 245) | function makeRelParts(relName) {
function makeConfig (line 293) | function makeConfig(name) {
function BaseConstructor (line 509) | function BaseConstructor () {
function getMethods (line 526) | function getMethods (theClass) {
function DecoratedClass (line 552) | function DecoratedClass () {
function ctr (line 570) | function ctr () {
function Results (line 846) | function Results ($element, options, dataAdapter) {
function BaseSelection (line 1409) | function BaseSelection ($element, options) {
function SingleSelection (line 1568) | function SingleSelection () {
function MultipleSelection (line 1675) | function MultipleSelection ($element, options) {
function Placeholder (line 1790) | function Placeholder (decorated, $element, options) {
function AllowClear (line 1842) | function AllowClear () { }
function Search (line 1956) | function Search (decorated, $element, options) {
function EventRelay (line 2191) | function EventRelay () { }
function Translation (line 2241) | function Translation (dict) {
function BaseAdapter (line 3128) | function BaseAdapter ($element, options) {
function SelectAdapter (line 3171) | function SelectAdapter ($element, options) {
function ArrayAdapter (line 3457) | function ArrayAdapter ($element, options) {
function onlyItem (line 3496) | function onlyItem (item) {
function AjaxAdapter (line 3541) | function AjaxAdapter ($element, options) {
function request (line 3602) | function request () {
function Tags (line 3650) | function Tags (decorated, $element, options) {
function wrapper (line 3689) | function wrapper (obj, child) {
function Tokenizer (line 3777) | function Tokenizer (decorated, $element, options) {
function createAndSelect (line 3797) | function createAndSelect (data) {
function select (line 3820) | function select (data) {
function MinimumInputLength (line 3894) | function MinimumInputLength (decorated, $e, options) {
function MaximumInputLength (line 3925) | function MaximumInputLength (decorated, $e, options) {
function MaximumSelectionLength (line 3957) | function MaximumSelectionLength (decorated, $e, options) {
function Dropdown (line 4013) | function Dropdown ($element, options) {
function Search (line 4056) | function Search () { }
function HidePlaceholder (line 4171) | function HidePlaceholder (decorated, $element, options, dataAdapter) {
function InfiniteScroll (line 4214) | function InfiniteScroll (decorated, $element, options, dataAdapter) {
function AttachBody (line 4308) | function AttachBody (decorated, $element, options) {
function countResults (line 4555) | function countResults (data) {
function MinimumResultsForSearch (line 4571) | function MinimumResultsForSearch (decorated, $element, options, dataAdap...
function SelectOnClose (line 4595) | function SelectOnClose () { }
function CloseOnSelect (line 4646) | function CloseOnSelect () { }
function Defaults (line 4779) | function Defaults () {
function stripDiacritics (line 4989) | function stripDiacritics (text) {
function matcher (line 4998) | function matcher (params, data) {
function Options (line 5191) | function Options (options, $element) {
function upperCaseLetter (line 5266) | function upperCaseLetter(_, letter) {
FILE: public/backend/vendors/js/forms/spinner/jquery.bootstrap-touchspin.js
function init (line 116) | function init() {
function _setInitval (line 140) | function _setInitval() {
function changeSettings (line 146) | function changeSettings(newsettings) {
function _initSettings (line 158) | function _initSettings() {
function _parseAttributes (line 162) | function _parseAttributes() {
function _destroy (line 173) | function _destroy() {
function _updateSettings (line 192) | function _updateSettings(newsettings) {
function _buildHtml (line 219) | function _buildHtml() {
function _advanceInputGroup (line 238) | function _advanceInputGroup(parentelement) {
function _buildInputGroup (line 273) | function _buildInputGroup() {
function _initElements (line 304) | function _initElements() {
function _hideEmptyPrefixPostfix (line 314) | function _hideEmptyPrefixPostfix() {
function _bindEvents (line 324) | function _bindEvents() {
function _bindEventsInterface (line 511) | function _bindEventsInterface() {
function _forcestepdivisibility (line 543) | function _forcestepdivisibility(value) {
function _checkValue (line 556) | function _checkValue() {
function _getBoostedStep (line 606) | function _getBoostedStep() {
function upOnce (line 624) | function upOnce() {
function downOnce (line 650) | function downOnce() {
function startDownSpin (line 676) | function startDownSpin() {
function startUpSpin (line 693) | function startUpSpin() {
function stopSpin (line 710) | function stopSpin() {
FILE: public/backend/vendors/js/forms/toggle/switchery.js
function require (line 12) | function require(name) {
function showError (line 67) | function showError(name) {
function Transitionize (line 170) | function Transitionize(element, props) {
function FastClick (line 228) | function FastClick(layer) {
function ClassList (line 1048) | function ClassList(el) {
function one (line 1237) | function one(selector, el) {
function match (line 1299) | function match(el, selector) {
function Events (line 1405) | function Events(el, obj) {
function cb (line 1458) | function cb(){
function parse (line 1550) | function parse(event) {
function Switchery (line 1615) | function Switchery(element, options) {
FILE: public/backend/vendors/js/forms/validation/jqBootstrapValidation.js
function regexFromString (line 1181) | function regexFromString(inputstring) {
function executeFunctionByName (line 1190) | function executeFunctionByName(functionName, context /*, args */) {
FILE: public/backend/vendors/js/media/plyr.js
function _classCallCheck (line 7) | function _classCallCheck(instance, Constructor) {
function _defineProperties (line 13) | function _defineProperties(target, props) {
function _createClass (line 23) | function _createClass(Constructor, protoProps, staticProps) {
function _defineProperty (line 29) | function _defineProperty(obj, key, value) {
function _slicedToArray (line 44) | function _slicedToArray(arr, i) {
function _toConsumableArray (line 48) | function _toConsumableArray(arr) {
function _arrayWithoutHoles (line 52) | function _arrayWithoutHoles(arr) {
function _arrayWithHoles (line 60) | function _arrayWithHoles(arr) {
function _iterableToArray (line 64) | function _iterableToArray(iter) {
function _iterableToArrayLimit (line 68) | function _iterableToArrayLimit(arr, i) {
function _nonIterableSpread (line 94) | function _nonIterableSpread() {
function _nonIterableRest (line 98) | function _nonIterableRest() {
function matches (line 112) | function matches(element, selector) {
function trigger (line 123) | function trigger(element, type) {
function getDecimalPlaces (line 204) | function getDecimalPlaces(value) {
function round (line 216) | function round(number, step) {
function RangeTouch (line 233) | function RangeTouch(target, options) {
function toggleListener (line 567) | function toggleListener(element, event, callback) {
function on (line 610) | function on(element) {
function off (line 618) | function off(element) {
function once (line 626) | function once(element) {
function triggerEvent (line 647) | function triggerEvent(element) {
function unbindListeners (line 668) | function unbindListeners() {
function ready (line 681) | function ready() {
function cloneDeep (line 689) | function cloneDeep(object) {
function getDeep (line 693) | function getDeep(object, path) {
function extend (line 699) | function extend() {
function wrap (line 730) | function wrap(elements, wrapper) {
function setAttributes (line 754) | function setAttributes(element, attributes) {
function createElement (line 775) | function createElement(type, attributes, text) {
function insertAfter (line 792) | function insertAfter(element, target) {
function insertElement (line 800) | function insertElement(type, parent, attributes, text) {
function removeElement (line 808) | function removeElement(element) {
function emptyElement (line 821) | function emptyElement(element) {
function replaceElement (line 834) | function replaceElement(newChild, oldChild) {
function getAttributesFromSelector (line 843) | function getAttributesFromSelector(sel, existingAttributes) {
function toggleHidden (line 897) | function toggleHidden(element, hidden) {
function toggleClass (line 915) | function toggleClass(element, className, force) {
function hasClass (line 936) | function hasClass(element, className) {
function matches$1 (line 940) | function matches$1(element, selector) {
function getElements (line 950) | function getElements(selector) {
function getElement (line 954) | function getElement(selector) {
function trapFocus (line 958) | function trapFocus() {
function setFocus (line 993) | function setFocus() {
function repaint (line 1026) | function repaint(element) {
function validateRatio (line 1149) | function validateRatio(input) {
function reduceAspectRatio (line 1157) | function reduceAspectRatio(ratio) {
function getAspectRatio (line 1173) | function getAspectRatio(input) {
function setAspectRatio (line 1205) | function setAspectRatio(input) {
function dedupe (line 1346) | function dedupe(array) {
function closest (line 1356) | function closest(array, value) {
function generateId (line 1368) | function generateId(prefix) {
function format (line 1372) | function format(input) {
function getPercentage (line 1386) | function getPercentage(current, max) {
function replaceAll (line 1394) | function replaceAll() {
function toTitleCase (line 1401) | function toTitleCase() {
function toPascalCase (line 1408) | function toPascalCase() {
function toCamelCase (line 1421) | function toCamelCase() {
function stripHTML (line 1430) | function stripHTML(source) {
function getHTML (line 1438) | function getHTML(element) {
function Storage (line 1488) | function Storage(player) {
function fetch (line 1564) | function fetch(url) {
function loadSprite (line 1600) | function loadSprite(url, id) {
function formatTime (line 1675) | function formatTime() {
function parseUrl (line 3208) | function parseUrl(input) {
function buildUrlParams (line 3225) | function buildUrlParams(input) {
function getProviderByUrl (line 3974) | function getProviderByUrl(url) {
function Console (line 3996) | function Console() {
function onChange (line 4031) | function onChange() {
function toggleFallback (line 4051) | function toggleFallback() {
function Fullscreen (line 4108) | function Fullscreen(player) {
function loadImage (line 4294) | function loadImage(src) {
function Listeners (line 4527) | function Listeners(player) {
function createCommonjsModule (line 5307) | function createCommonjsModule(fn, module) {
function subscribe (line 5332) | function subscribe(bundleIds, callbackFn) {
function publish (line 5372) | function publish(bundleId, pathsNotFound) {
function executeCallbacks (line 5393) | function executeCallbacks(args, depsNotFound) {
function loadFile (line 5408) | function loadFile(path, callbackFn, args, numTries) {
function loadFiles (line 5483) | function loadFiles(paths, callbackFn, args) {
function loadjs (line 5521) | function loadjs(paths, arg1, arg2) {
function loadScript (line 5605) | function loadScript(url) {
function parseId (line 5614) | function parseId(url) {
function assurePlaybackState (line 5628) | function assurePlaybackState(play) {
function parseId$1 (line 5954) | function parseId$1(url) {
function assurePlaybackState$1 (line 5964) | function assurePlaybackState$1(play) {
function getHost (line 5975) | function getHost(config) {
function Ads (line 6418) | function Ads(player) {
function PreviewThumbnails (line 7101) | function PreviewThumbnails(player) {
function clamp (line 7859) | function clamp() {
function Plyr (line 7873) | function Plyr(target, options) {
FILE: public/backend/vendors/js/media/plyr.polyfilled.js
function t (line 1) | function t(e,t){return e(t={exports:{}},t.exports),t.exports}
function A (line 1) | function A(e,t,n){var i,r,o,a=new Array(n),s=8*n-t-1,l=(1<<s)-1,c=l>>1,u...
function _ (line 1) | function _(e,t,n){var i,r=8*n-t-1,o=(1<<r)-1,a=o>>1,s=r-7,l=n-1,c=e[l--]...
function C (line 1) | function C(e){return e[3]<<24|e[2]<<16|e[1]<<8|e[0]}
function P (line 1) | function P(e){return[255&e]}
function M (line 1) | function M(e){return[255&e,e>>8&255]}
function x (line 1) | function x(e){return[255&e,e>>8&255,e>>16&255,e>>24&255]}
function L (line 1) | function L(e){return A(e,52,8)}
function O (line 1) | function O(e){return A(e,23,4)}
function N (line 1) | function N(e,t,n){r(e[o],t,{get:function(){return this[n]}})}
function R (line 1) | function R(e,t,n,i){var r=D(+n);if(r+t>e[T])throw d(l);var o=e[k]._b,a=r...
function q (line 1) | function q(e,t,n,i,r,o){var a=D(+n);if(a+t>e[T])throw d(l);for(var s=e[k...
function e (line 1) | function e(){}
function yn (line 1) | function yn(e){var t,n;this.promise=new e(function(e,i){if(void 0!==t||v...
function e (line 1) | function e(){}
function i (line 1) | function i(i,r){return s.type="throw",s.arg=e,t.next=i,r&&(t.method="nex...
function b (line 1) | function b(e,t,n,i){var r=t&&t.prototype instanceof E?t:E,o=Object.creat...
function w (line 1) | function w(e,t,n){try{return{type:"normal",arg:e.call(t,n)}}catch(e){ret...
function E (line 1) | function E(){}
function k (line 1) | function k(){}
function T (line 1) | function T(){}
function S (line 1) | function S(e){["next","throw","return"].forEach(function(t){e[t]=functio...
function A (line 1) | function A(t){function n(e,i,o,a){var s=w(t[e],t,i);if("throw"!==s.type)...
function _ (line 1) | function _(e,t){var i=e.iterator[t.method];if(i===n){if(t.delegate=null,...
function C (line 1) | function C(e){var t={tryLoc:e[0]};1 in e&&(t.catchLoc=e[1]),2 in e&&(t.f...
function P (line 1) | function P(e){var t=e.completion||{};t.type="normal",delete t.arg,e.comp...
function M (line 1) | function M(e){this.tryEntries=[{tryLoc:"root"}],e.forEach(C,this),this.r...
function x (line 1) | function x(e){if(e){var t=e[a];if(t)return t.call(e);if("function"==type...
function L (line 1) | function L(){return{value:n,done:!0}}
function r (line 1) | function r(e,t){if(e){var r=i[e];if(n[e]=t,r)for(;r.length;)r[0](e,t),r....
function o (line 1) | function o(t,n){t.call&&(t={success:t}),n.length?(t.error||e)(n):(t.succ...
function a (line 1) | function a(t,n,i,r){var o,s,l=document,c=i.async,u=(i.numRetries||0)+1,f...
function s (line 1) | function s(e,n,i){var s,l;if(n&&n.trim&&(s=n),l=(s?i:n)||{},s){if(s in t...
function e (line 1) | function e(e,t){for(var n=0;n<t.length;n++){var i=t[n];i.enumerable=i.en...
function e (line 1) | function e(t){zr(this,e),this.enabled=t.config.storage.enabled,this.key=...
method transitionEndEvent (line 1) | get transitionEndEvent(){var e=document.createElement("span"),t={WebkitT...
function e (line 1) | function e(){var t=arguments.length>0&&void 0!==arguments[0]&&arguments[...
function co (line 1) | function co(){if(this.enabled){var e=this.player.elements.buttons.fullsc...
function uo (line 1) | function uo(){var e=arguments.length>0&&void 0!==arguments[0]&&arguments...
function e (line 1) | function e(t){var n=this;zr(this,e),this.player=t,this.prefix=e.prefix,t...
function e (line 1) | function e(t){zr(this,e),this.player=t,this.lastKey=null,this.handleKey=...
function yo (line 1) | function yo(e){e&&!this.embed.hasPlayed&&(this.embed.hasPlayed=!0),this....
function bo (line 1) | function bo(e){switch(e){case"hd2160":return 2160;case 2160:return"hd216...
function wo (line 1) | function wo(e){e&&!this.embed.hasPlayed&&(this.embed.hasPlayed=!0),this....
function e (line 1) | function e(t){var n=this;zr(this,e),this.player=t,this.publisherId=t.con...
function e (line 1) | function e(t,n){var i=this;if(zr(this,e),this.timers={},this.ready=!1,th...
FILE: public/backend/vendors/js/pickers/pickadate/picker.date.js
function DatePicker (line 34) | function DatePicker( picker, settings ) {
function getWordLengthFromCollection (line 647) | function getWordLengthFromCollection( string, collection, dateObject ) {
function getFirstWordLength (line 663) | function getFirstWordLength( string ) {
FILE: public/backend/vendors/js/pickers/pickadate/picker.js
function PickerConstructor (line 35) | function PickerConstructor( ELEMENT, NAME, COMPONENT, OPTIONS ) {
function isUsingDefaultTheme (line 937) | function isUsingDefaultTheme( element ) {
function getScrollbarWidth (line 961) | function getScrollbarWidth() {
function getRealEventTarget (line 996) | function getRealEventTarget( event, ELEMENT ) {
function aria (line 1177) | function aria(element, attribute, value) {
function ariaSet (line 1187) | function ariaSet(element, attribute, value) {
function ariaAttr (line 1193) | function ariaAttr(attribute, data) {
function getActiveElement (line 1207) | function getActiveElement() {
FILE: public/backend/vendors/js/pickers/pickadate/picker.time.js
function TimePicker (line 36) | function TimePicker( picker, settings ) {
FILE: public/backend/vendors/js/tables/ag-grid/ag-grid-community.min.noStyle.js
function o (line 2) | function o(i){if(t[i])return t[i].exports;var n=t[i]={i:i,l:!1,exports:{...
function e (line 8) | function e(e,t){if(this.beanWrappers={},this.registeredModules=[],this.c...
function r (line 8) | function r(e,t,o,i,n,r){if(null!==t)if("number"!=typeof r){var a=s(e.con...
function s (line 8) | function s(e){return e.hasOwnProperty("__agBeanMetaData")||(e.__agBeanMe...
function i (line 14) | function i(e){for(var o in e)t.hasOwnProperty(o)||(t[o]=e[o])}
function E (line 20) | function E(e){return!0===e||"true"===e}
function e (line 20) | function e(){this.propertyEventService=new a.EventService,this.domDataKe...
function e (line 26) | function e(){this.allSyncListeners={},this.allAsyncListeners={},this.glo...
function e (line 32) | function e(){this.primaryHeaderRowCount=0,this.secondaryHeaderRowCount=0...
function t (line 32) | function t(o,i,n){for(var r=!1,s=0;s<o.length;s++){var l=o[s],p=void 0;i...
function f (line 32) | function f(e){S._.removeFromArray(r,e),n.push(e)}
function e (line 44) | function e(){}
function o (line 50) | function o(){this.constructor=e}
function t (line 50) | function t(t){var o=e.call(this)||this;return o.childComponents=[],o.ann...
function e (line 56) | function e(){this.detailGridInfoMap={}}
function e (line 62) | function e(){}
function i (line 68) | function i(e,t,o,i){null!==e?"number"!=typeof i?s(t,"querySelectors",{at...
function n (line 68) | function n(e,t,o){null!==e?s(t,"listenerMethods",{methodName:o,eventName...
function r (line 68) | function r(e,t,o){null!==e?s(t,"methods",{methodName:o,alias:e}):console...
function s (line 68) | function s(e,t,o){var i=function(e,t){e.__agComponentMetaData||(e.__agCo...
function e (line 74) | function e(e,t,o,i){this.moving=!1,this.menuVisible=!1,this.filterActive...
function e (line 80) | function e(){}
function e (line 80) | function e(e,t){this.name=e,this.isLoggingFunc=t}
function e (line 86) | function e(){this.destroyFunctions=[],this.destroyed=!1}
function e (line 92) | function e(){this.allFilters={},this.quickFilter=null,this.quickFilterPa...
function e (line 98) | function e(){this.dragSourceAndParamsList=[],this.dropTargets=[]}
function e (line 104) | function e(){}
function o (line 110) | function o(){this.constructor=e}
function t (line 110) | function t(){var t=null!==e&&e.apply(this,arguments)||this;return t.dest...
function o (line 110) | function o(o,i){var n=i.getCellForCol(e);n&&t.push(n)}
function e (line 116) | function e(){this.childrenMapped={},this.selectable=!0,this.__objectId=e...
function e (line 122) | function e(){}
function e (line 128) | function e(){this.initialised=!1}
function e (line 134) | function e(){this.expressionToFunctionCache={}}
function e (line 140) | function e(){}
function e (line 146) | function e(){}
function e (line 152) | function e(){}
function o (line 158) | function o(){this.constructor=e}
function t (line 158) | function t(){var t=null!==e&&e.apply(this,arguments)||this;return t.curr...
function e (line 164) | function e(){this.popupList=[]}
function p (line 164) | function p(){return o.right-t.left-2}
function u (line 164) | function u(){return o.left-t.left-s}
function o (line 170) | function o(){this.constructor=e}
function t (line 170) | function t(){return null!==e&&e.apply(this,arguments)||this}
function e (line 176) | function e(){}
function e (line 182) | function e(e,t,o,i){this.displayedChildren=[],this.localEventService=new...
function e (line 188) | function e(){this.onMouseUpListener=this.onMouseUp.bind(this),this.onMou...
function e (line 194) | function e(){}
function o (line 200) | function o(){this.constructor=e}
function t (line 200) | function t(){return null!==e&&e.apply(this,arguments)||this}
function e (line 206) | function e(){}
function e (line 212) | function e(e,t,o,i){this.localEventService=new r.EventService,this.expan...
function e (line 218) | function e(){this.cacheVersion=0}
function o (line 224) | function o(){this.constructor=e}
function t (line 224) | function t(){return null!==e&&e.apply(this,arguments)||this}
function e (line 230) | function e(){this.p1Tasks=[],this.p2Tasks=[],this.ticking=!1,this.scroll...
function o (line 236) | function o(){this.constructor=e}
function t (line 236) | function t(){var t=e.call(this)||this;return t.className="ag-checkbox",t...
function e (line 242) | function e(){}
function e (line 248) | function e(){}
function o (line 254) | function o(){this.constructor=e}
function t (line 254) | function t(t,o,i,n,r,s,a){var l=e.call(this)||this;if(l.editingCell=!1,l...
function e (line 260) | function e(){}
function e (line 266) | function e(e,t){var o=this;void 0===t&&(t=!1),this.destroyFuncs=[],this....
function e (line 272) | function e(){}
function e (line 278) | function e(){this.gridInstanceId=t.gridInstanceSequence.next()}
function o (line 284) | function o(){this.constructor=e}
function t (line 284) | function t(){return null!==e&&e.apply(this,arguments)||this}
function o (line 290) | function o(){this.constructor=e}
function t (line 290) | function t(){var t=null!==e&&e.apply(this,arguments)||this;return t.conf...
function e (line 296) | function e(){}
function e (line 302) | function e(e){var t=e.columnController,o=e.valueService,i=e.gridOptionsW...
function e (line 302) | function e(){}
function D (line 302) | function D(t){var i=E&&t.leafGroup,n=1===t.allChildrenCount&&(C||i);if((...
function e (line 308) | function e(){}
function e (line 314) | function e(e,t){this.active=!0,this.nodeIdsToColumns={},this.mapToItems=...
function e (line 320) | function e(){this.executeNextFuncs=[],this.executeLaterFuncs=[],this.act...
function e (line 326) | function e(){this.cellRendererMap={}}
function o (line 332) | function o(){this.constructor=e}
function t (line 332) | function t(){return null!==e&&e.apply(this,arguments)||this}
function o (line 338) | function o(){this.constructor=e}
function t (line 338) | function t(){var t=null!==e&&e.apply(this,arguments)||this;return t.scro...
function e (line 344) | function e(){}
function e (line 350) | function e(){}
function o (line 356) | function o(){this.constructor=e}
function t (line 356) | function t(t,o,i,n){var r=e.call(this)||this;return r.columnOrGroup=t,r....
function e (line 362) | function e(){this.consuming=!1}
function e (line 368) | function e(){}
function o (line 374) | function o(){this.constructor=e}
function t (line 374) | function t(o,i){var n=e.call(this)||this;return n.version=0,n.state=t.ST...
function o (line 380) | function o(){this.constructor=e}
function t (line 380) | function t(t){var o=e.call(this,t)||this;return o.RESIZE_TEMPLATE='\n ...
function o (line 386) | function o(){this.constructor=e}
function t (line 386) | function t(){var t=null!==e&&e.apply(this,arguments)||this;return t.clas...
function e (line 392) | function e(){}
function l (line 392) | function l(e){(e.rowDeselected||e.onRowDeselected)&&console.warn("ag-gri...
function o (line 398) | function o(){this.constructor=e}
function t (line 398) | function t(t){var o=e.call(this,{columnController:t.columnController,val...
function e (line 398) | function e(){}
function t (line 398) | function t(){return null!==e&&e.apply(this,arguments)||this}
function o (line 404) | function o(){this.constructor=e}
function t (line 404) | function t(t,o,i,n,r,s,a,l,p,u,d){var c=e.call(this)||this;return c.eAll...
function o (line 410) | function o(){this.constructor=e}
function t (line 410) | function t(){return e.call(this,'<span class="ag-selection-checkbox" uns...
function o (line 416) | function o(){this.constructor=e}
function t (line 416) | function t(t){var o=e.call(this,'<div class="ag-popup-editor" tabindex="...
function e (line 422) | function e(){}
function e (line 428) | function e(){this.templateCache={},this.waitingCallbacks={}}
function o (line 434) | function o(){this.constructor=e}
function t (line 434) | function t(){var o=e.call(this,t.TEMPLATE)||this;return o.refreshCount=0...
function e (line 440) | function e(){this.agGridDefaults={agDateInput:O.DefaultDateComponent,agC...
function o (line 446) | function o(){this.constructor=e}
function t (line 446) | function t(){var o=e.call(this,t.TEMPLATE)||this;return o.eInput=o.getGu...
function o (line 452) | function o(){this.constructor=e}
function t (line 452) | function t(){return null!==e&&e.apply(this,arguments)||this}
function o (line 458) | function o(){this.constructor=e}
function t (line 458) | function t(){return null!==e&&e.apply(this,arguments)||this}
function o (line 464) | function o(){this.constructor=e}
function t (line 464) | function t(){return e.call(this,t.TEMPLATE)||this}
function o (line 470) | function o(){this.constructor=e}
function t (line 470) | function t(){var o=e.call(this,t.TEMPLATE)||this;return o.refreshCount=0,o}
function o (line 476) | function o(){this.constructor=e}
function t (line 476) | function t(){var t=e.call(this,'<div class="ag-cell-edit-input"><select ...
function o (line 482) | function o(){this.constructor=e}
function t (line 482) | function t(){return null!==e&&e.apply(this,arguments)||this}
function o (line 488) | function o(){this.constructor=e}
function t (line 488) | function t(){return null!==e&&e.apply(this,arguments)||this}
function e (line 494) | function e(){}
function t (line 494) | function t(){}
function e (line 500) | function e(){}
function e (line 506) | function e(){}
function e (line 512) | function e(){this.DEFAULT_HIDE_TOOLTIP_TIMEOUT=1e4,this.MOUSEOUT_HIDE_TO...
function e (line 518) | function e(){}
function e (line 524) | function e(){}
function o (line 530) | function o(){this.constructor=e}
function t (line 530) | function t(){var t=null!==e&&e.apply(this,arguments)||this;return t.labe...
function o (line 536) | function o(){this.constructor=e}
function t (line 536) | function t(t,o){var i=e.call(this)||this;return i.columns=t,i.element=o,i}
function e (line 542) | function e(){this.existingIds={}}
function e (line 548) | function e(){}
function e (line 554) | function e(){}
function e (line 560) | function e(t,o,G){t||console.error("ag-Grid: no div element provided to ...
function o (line 566) | function o(){this.constructor=e}
function t (line 566) | function t(){return e.call(this,t.TEMPLATE)||this}
function o (line 572) | function o(){this.constructor=e}
function t (line 572) | function t(){var t=e.call(this,U)||this;return t.scrollLeft=-1,t.scrollT...
function e (line 578) | function e(){}
function o (line 584) | function o(){this.constructor=e}
function t (line 584) | function t(t){var o=e.call(this)||this;return o.maxRowFound=!1,o.blocks=...
function o (line 590) | function o(){this.constructor=e}
function t (line 590) | function t(){var t=null!==e&&e.apply(this,arguments)||this;return t.clas...
function o (line 596) | function o(){this.constructor=e}
function t (line 596) | function t(o){var i=e.call(this,t.TEMPLATE)||this;return i.closable=!0,i...
function o (line 602) | function o(){this.constructor=e}
function t (line 602) | function t(t){var o=e.call(this)||this;return o.className="ag-text-field...
function o (line 608) | function o(){this.constructor=e}
function t (line 608) | function t(t){var o=e.call(this)||this;return o.className="ag-range-fiel...
function e (line 614) | function e(){}
function e (line 626) | function e(e,t,o){var i=this;this.alive=!0,e.newDateComponent(t).then(fu...
function e (line 632) | function e(){this.customFilterOptions={}}
function o (line 638) | function o(){this.constructor=e}
function t (line 638) | function t(){return null!==e&&e.apply(this,arguments)||this}
function o (line 644) | function o(){this.constructor=e}
function t (line 644) | function t(){return null!==e&&e.apply(this,arguments)||this}
function o (line 650) | function o(){this.constructor=e}
function t (line 650) | function t(){return e.call(this,t.TEMPLATE)||this}
function o (line 656) | function o(){this.constructor=e}
function t (line 656) | function t(){return null!==e&&e.apply(this,arguments)||this}
function o (line 662) | function o(){this.constructor=e}
function t (line 662) | function t(){return null!==e&&e.apply(this,arguments)||this}
function e (line 668) | function e(){this.cacheItems=[]}
function o (line 674) | function o(){this.constructor=e}
function t (line 674) | function t(o,i,n){var r=e.call(this,t.TEMPLATE)||this;return r.column=o,...
function e (line 680) | function e(){}
function e (line 686) | function e(){}
function e (line 692) | function e(){}
function e (line 698) | function e(){}
function e (line 704) | function e(){this.existingKeys=[]}
function e (line 710) | function e(e,t,o){this.headerRowComps=[],this.eContainer=e,this.pinned=o...
function o (line 716) | function o(){this.constructor=e}
function t (line 716) | function t(t,o,i,n){var r=e.call(this,'<div class="ag-header-row" role="...
function e (line 722) | function e(e,t){this.dropListeners={},this.pinned=e,this.eContainer=t}
function e (line 728) | function e(e,t){this.needToMoveLeft=!1,this.needToMoveRight=!1,this.pinn...
function e (line 734) | function e(e){this.columnsToAggregate=[],this.columnsToGroup=[],this.col...
function o (line 740) | function o(){this.constructor=e}
function t (line 740) | function t(){return null!==e&&e.apply(this,arguments)||this}
function e (line 746) | function e(){this.timeLastPageEventProcessed=0}
function o (line 752) | function o(){this.constructor=e}
function t (line 752) | function t(){return e.call(this,t.TEMPLATE)||this}
function o (line 758) | function o(){this.constructor=e}
function t (line 758) | function t(){return null!==e&&e.apply(this,arguments)||this}
function e (line 764) | function e(){}
function e (line 770) | function e(){}
function e (line 776) | function e(){}
function e (line 782) | function e(){}
function e (line 788) | function e(){}
function e (line 794) | function e(){}
function o (line 800) | function o(){this.constructor=e}
function t (line 800) | function t(){return null!==e&&e.apply(this,arguments)||this}
function e (line 806) | function e(e,t){this.activeBlockLoadsCount=0,this.blocks=[],this.active=...
function e (line 812) | function e(){}
function e (line 818) | function e(t,o,i,n,r,s,a,l){this.nextId=0,this.allNodesMap={},this.rootN...
function e (line 824) | function e(){}
function e (line 830) | function e(){}
function e (line 836) | function e(){var e=this;this.folders=[],this.files=[],this.addFolder=fun...
function o (line 842) | function o(){this.constructor=e}
function t (line 842) | function t(o){var i=e.call(this,t.TEMPLATE)||this;i.suppressEnabledCheck...
function o (line 848) | function o(){this.constructor=e}
function t (line 848) | function t(t){var o=e.call(this)||this;return o.className="ag-text-area"...
function o (line 854) | function o(){this.constructor=e}
function t (line 854) | function t(){var o=e.call(this,t.TEMPLATE)||this;return o.labelAlignment...
function o (line 860) | function o(){this.constructor=e}
function t (line 860) | function t(t){var o=e.call(this)||this;return o.displayTag="div",o.class...
function o (line 866) | function o(){this.constructor=e}
function t (line 866) | function t(){var t=e.call(this)||this;return t.className="ag-select",t.d...
function o (line 872) | function o(){this.constructor=e}
function t (line 872) | function t(){var o=e.call(this,t.TEMPLATE)||this;return o.radius=0,o.off...
function o (line 878) | function o(){this.constructor=e}
function t (line 878) | function t(){var t=null!==e&&e.apply(this,arguments)||this;return t.clas...
function e (line 891) | function e(e,t,o,i){void 0===i&&(i=1),this.r=Math.min(1,Math.max(0,e||0)...
function e (line 897) | function e(){}
function r (line 897) | function r(e,t){return e>t?1:e<t?-1:0}
function o (line 897) | function o(e,o){return t(e>>o&63|128)}
function i (line 897) | function i(e){if(0==(4294967168&e))return t(e);var i="";return 0==(42949...
function e (line 897) | function e(e,t){void 0===e&&(e=0),void 0===t&&(t=1),this.nextValue=e,thi...
function e (line 903) | function e(e){this.status=i.IN_PROGRESS,this.resolution=null,this.listOf...
function e (line 909) | function e(){this.timestamp=(new Date).getTime()}
function o (line 915) | function o(){this.constructor=e}
function t (line 915) | function t(t,o,i,n){var r=e.call(this,'<div class="ag-row-drag"></div>')...
function t (line 915) | function t(t,o,i){var n=e.call(this)||this;return n.parent=t,n.column=i,...
function t (line 915) | function t(t,o,i,n){var r=e.call(this,t,i,n)||this;return r.beans=o,r}
function t (line 915) | function t(t,o,i,n){var r=e.call(this,t,i,n)||this;return r.beans=o,r}
function o (line 921) | function o(){this.constructor=e}
function t (line 921) | function t(t,o,i,n,r){var s=e.call(this,'<div class="ag-row-drag" dragga...
function o (line 927) | function o(){this.constructor=e}
function t (line 927) | function t(){var t=null!==e&&e.apply(this,arguments)||this;return t.last...
function o (line 933) | function o(){this.constructor=e}
function t (line 933) | function t(){return e.call(this,t.TEMPLATE)||this}
function o (line 939) | function o(){this.constructor=e}
function t (line 939) | function t(){return e.call(this,t.TEMPLATE)||this}
function o (line 945) | function o(){this.constructor=e}
function t (line 945) | function t(){return e.call(this)||this}
function o (line 951) | function o(){this.constructor=e}
function t (line 951) | function t(){return e.call(this)||this}
function o (line 957) | function o(){this.constructor=e}
function t (line 957) | function t(){return e.call(this,'<div class="ag-tooltip"></div>')||this}
function o (line 963) | function o(){this.constructor=e}
function t (line 963) | function t(){return e.call(this,'<div class="ag-input-wrapper" role="pre...
function o (line 969) | function o(){this.constructor=e}
function t (line 969) | function t(){return e.call(this,'<div class="ag-input-wrapper" role="pre...
function o (line 975) | function o(){this.constructor=e}
function t (line 975) | function t(){return null!==e&&e.apply(this,arguments)||this}
function o (line 981) | function o(){this.constructor=e}
function t (line 981) | function t(){return null!==e&&e.apply(this,arguments)||this}
function o (line 987) | function o(){this.constructo
Copy disabled (too large)
Download .json
Condensed preview — 681 files, each showing path, character count, and a content snippet. Download the .json file for the full structured content (15,678K chars).
[
{
"path": ".circleci/config.yml",
"chars": 449,
"preview": "# Use the latest 2.1 version of CircleCI pipeline process engine. See: https://circleci.com/docs/2.0/configuration-refer"
},
{
"path": ".editorconfig",
"chars": 213,
"preview": "root = true\n\n[*]\ncharset = utf-8\nend_of_line = lf\ninsert_final_newline = true\nindent_style = space\nindent_size = 4\ntrim_"
},
{
"path": ".gitattributes",
"chars": 111,
"preview": "* text=auto\n*.css linguist-vendored\n*.scss linguist-vendored\n*.js linguist-vendored\nCHANGELOG.md export-ignore\n"
},
{
"path": ".github/FUNDING.yml",
"chars": 61,
"preview": "github: [andes2912]\ncustom: [\"https://saweria.co/andes2912\"]\n"
},
{
"path": ".github/ISSUE_TEMPLATE/bug_report.md",
"chars": 834,
"preview": "---\nname: Bug report\nabout: Create a report to help us improve\ntitle: ''\nlabels: ''\nassignees: ''\n\n---\n\n**Describe the b"
},
{
"path": ".github/ISSUE_TEMPLATE/feature_request.md",
"chars": 595,
"preview": "---\nname: Feature request\nabout: Suggest an idea for this project\ntitle: ''\nlabels: ''\nassignees: ''\n\n---\n\n**Is your fea"
},
{
"path": ".gitignore",
"chars": 151,
"preview": "/node_modules\n/public/hot\n/public/storage\n/storage/*.key\n/vendor\n.env\n.phpunit.result.cache\nHomestead.json\nHomestead.yam"
},
{
"path": ".styleci.yml",
"chars": 174,
"preview": "php:\n preset: laravel\n disabled:\n - unused_use\n finder:\n not-name:\n - index.php\n - server.php\njs:\n f"
},
{
"path": "CODE_OF_CONDUCT.md",
"chars": 6306,
"preview": "# Citizen Code of Conduct\n\n## 1. Purpose\n\nA primary goal of Laundry is to be inclusive to the largest number of contribu"
},
{
"path": "LICENSE",
"chars": 1071,
"preview": "MIT License\n\nCopyright (c) 2021 Andri Desmana \n\nPermission is hereby granted, free of charge, to any person obtaining a "
},
{
"path": "app/Console/Commands/CreateAdminCommand.php",
"chars": 2913,
"preview": "<?php\n\nnamespace App\\Console\\Commands;\n\nuse App\\Models\\User;\nuse App\\Models\\LaundrySetting;\nuse Illuminate\\Console\\Comma"
},
{
"path": "app/Console/Kernel.php",
"chars": 848,
"preview": "<?php\n\nnamespace App\\Console;\n\nuse Illuminate\\Console\\Scheduling\\Schedule;\nuse Illuminate\\Foundation\\Console\\Kernel as C"
},
{
"path": "app/Exceptions/Handler.php",
"chars": 1140,
"preview": "<?php\n\nnamespace App\\Exceptions;\n\nuse Illuminate\\Foundation\\Exceptions\\Handler as ExceptionHandler;\nuse Throwable;\n\nclas"
},
{
"path": "app/Exports/LaporanExport.php",
"chars": 498,
"preview": "<?php\n\nnamespace App\\Exports;\n\nuse App\\Models\\transaksi;\nuse Illuminate\\Contracts\\View\\View;\nuse Illuminate\\Support\\Faca"
},
{
"path": "app/Helpers/Model.php",
"chars": 5081,
"preview": "<?php\nuse App\\Models\\{Notification, User,notifications_setting,transaksi};\nuse PhpParser\\Node\\Stmt\\Return_;\n\nclass Rupia"
},
{
"path": "app/Http/Controllers/Admin/AdminController.php",
"chars": 964,
"preview": "<?php\n\nnamespace App\\Http\\Controllers\\Admin;\n\nuse App\\Http\\Controllers\\Controller;\nuse Illuminate\\Http\\Request;\nuse App\\"
},
{
"path": "app/Http/Controllers/Admin/CustomerController.php",
"chars": 546,
"preview": "<?php\n\nnamespace App\\Http\\Controllers\\Admin;\n\nuse App\\Http\\Controllers\\Controller;\nuse Illuminate\\Http\\Request;\nuse App\\"
},
{
"path": "app/Http/Controllers/Admin/DokumentasiController.php",
"chars": 688,
"preview": "<?php\n\nnamespace App\\Http\\Controllers\\Admin;\n\nuse App\\Http\\Controllers\\Controller;\nuse Illuminate\\Http\\Request;\n\nclass D"
},
{
"path": "app/Http/Controllers/Admin/FinanceController.php",
"chars": 4281,
"preview": "<?php\n\nnamespace App\\Http\\Controllers\\Admin;\n\nuse App\\Http\\Controllers\\Controller;\nuse Illuminate\\Http\\Request;\nuse App\\"
},
{
"path": "app/Http/Controllers/Admin/KaryawanController.php",
"chars": 2074,
"preview": "<?php\n\nnamespace App\\Http\\Controllers\\Admin;\n\nuse App\\Http\\Requests\\AddKaryawanRequest;\nuse App\\Http\\Controllers\\Control"
},
{
"path": "app/Http/Controllers/Admin/SettingsController.php",
"chars": 3822,
"preview": "<?php\n\nnamespace App\\Http\\Controllers\\Admin;\n\nuse App\\Http\\Controllers\\Controller;\nuse Illuminate\\Http\\Request;\nuse App\\"
},
{
"path": "app/Http/Controllers/Admin/TransaksiController.php",
"chars": 2055,
"preview": "<?php\n\nnamespace App\\Http\\Controllers\\Admin;\n\nuse App\\Http\\Controllers\\Controller;\nuse Illuminate\\Http\\Request;\nuse App\\"
},
{
"path": "app/Http/Controllers/Auth/ForgotPasswordController.php",
"chars": 834,
"preview": "<?php\n\nnamespace App\\Http\\Controllers\\Auth;\n\nuse App\\Http\\Controllers\\Controller;\nuse Illuminate\\Foundation\\Auth\\SendsPa"
},
{
"path": "app/Http/Controllers/Auth/LoginController.php",
"chars": 1227,
"preview": "<?php\n\nnamespace App\\Http\\Controllers\\Auth;\n\nuse App\\Http\\Controllers\\Controller;\nuse Illuminate\\Foundation\\Auth\\Authent"
},
{
"path": "app/Http/Controllers/Auth/RegisterController.php",
"chars": 1970,
"preview": "<?php\n\nnamespace App\\Http\\Controllers\\Auth;\n\nuse App\\User;\nuse App\\Http\\Controllers\\Controller;\nuse Illuminate\\Support\\F"
},
{
"path": "app/Http/Controllers/Auth/ResetPasswordController.php",
"chars": 952,
"preview": "<?php\n\nnamespace App\\Http\\Controllers\\Auth;\n\nuse App\\Http\\Controllers\\Controller;\nuse Illuminate\\Foundation\\Auth\\ResetsP"
},
{
"path": "app/Http/Controllers/Auth/VerificationController.php",
"chars": 1071,
"preview": "<?php\n\nnamespace App\\Http\\Controllers\\Auth;\n\nuse App\\Http\\Controllers\\Controller;\nuse Illuminate\\Foundation\\Auth\\Verifie"
},
{
"path": "app/Http/Controllers/Controller.php",
"chars": 361,
"preview": "<?php\n\nnamespace App\\Http\\Controllers;\n\nuse Illuminate\\Foundation\\Bus\\DispatchesJobs;\nuse Illuminate\\Routing\\Controller "
},
{
"path": "app/Http/Controllers/Customer/ProfileController.php",
"chars": 1318,
"preview": "<?php\n\nnamespace App\\Http\\Controllers\\Customer;\n\nuse App\\Models\\User;\nuse App\\Http\\Controllers\\Controller;\nuse Illuminat"
},
{
"path": "app/Http/Controllers/Customer/SettingController.php",
"chars": 697,
"preview": "<?php\n\nnamespace App\\Http\\Controllers\\Customer;\n\nuse App\\Http\\Controllers\\Controller;\nuse Illuminate\\Http\\Request;\nuse A"
},
{
"path": "app/Http/Controllers/FrontController.php",
"chars": 573,
"preview": "<?php\n\nnamespace App\\Http\\Controllers;\n\nuse Illuminate\\Http\\Request;\nuse App\\Models\\{transaksi,PageSettings};\n\nclass Fro"
},
{
"path": "app/Http/Controllers/HomeController.php",
"chars": 8742,
"preview": "<?php\n\nnamespace App\\Http\\Controllers;\n\nuse Illuminate\\Http\\Request;\nuse Illuminate\\Support\\Facades\\DB;\nuse Illuminate\\S"
},
{
"path": "app/Http/Controllers/Karyawan/CustomerController.php",
"chars": 2630,
"preview": "<?php\n\nnamespace App\\Http\\Controllers\\Karyawan;\n\nuse App\\Http\\Controllers\\Controller;\nuse ErrorException;\nuse App\\Models"
},
{
"path": "app/Http/Controllers/Karyawan/InvoiceController.php",
"chars": 1201,
"preview": "<?php\n\nnamespace App\\Http\\Controllers\\Karyawan;\n\nuse App\\Http\\Controllers\\Controller;\nuse Illuminate\\Http\\Request;\nuse A"
},
{
"path": "app/Http/Controllers/Karyawan/LaporanController.php",
"chars": 645,
"preview": "<?php\n\nnamespace App\\Http\\Controllers\\Karyawan;\n\nuse App\\Exports\\LaporanExport;\nuse App\\Http\\Controllers\\Controller;\nuse"
},
{
"path": "app/Http/Controllers/Karyawan/PelayananController.php",
"chars": 8859,
"preview": "<?php\n\nnamespace App\\Http\\Controllers\\Karyawan;\n\nuse carbon\\carbon;\nuse ErrorException;\nuse Illuminate\\Http\\Request;\nuse"
},
{
"path": "app/Http/Controllers/Karyawan/ProfileController.php",
"chars": 1450,
"preview": "<?php\n\nnamespace App\\Http\\Controllers\\Karyawan;\n\nuse App\\Http\\Controllers\\Controller;\nuse Illuminate\\Http\\Request;\nuse A"
},
{
"path": "app/Http/Controllers/Karyawan/SettingsController.php",
"chars": 711,
"preview": "<?php\n\nnamespace App\\Http\\Controllers\\Karyawan;\n\nuse App\\Http\\Controllers\\Controller;\nuse Illuminate\\Http\\Request;\nuse A"
},
{
"path": "app/Http/Kernel.php",
"chars": 3077,
"preview": "<?php\n\nnamespace App\\Http;\n\nuse Illuminate\\Foundation\\Http\\Kernel as HttpKernel;\n\nclass Kernel extends HttpKernel\n{\n "
},
{
"path": "app/Http/Middleware/Authenticate.php",
"chars": 464,
"preview": "<?php\n\nnamespace App\\Http\\Middleware;\n\nuse Illuminate\\Auth\\Middleware\\Authenticate as Middleware;\n\nclass Authenticate ex"
},
{
"path": "app/Http/Middleware/CheckForMaintenanceMode.php",
"chars": 335,
"preview": "<?php\n\nnamespace App\\Http\\Middleware;\n\nuse Illuminate\\Foundation\\Http\\Middleware\\CheckForMaintenanceMode as Middleware;\n"
},
{
"path": "app/Http/Middleware/EncryptCookies.php",
"chars": 294,
"preview": "<?php\n\nnamespace App\\Http\\Middleware;\n\nuse Illuminate\\Cookie\\Middleware\\EncryptCookies as Middleware;\n\nclass EncryptCook"
},
{
"path": "app/Http/Middleware/RedirectIfAuthenticated.php",
"chars": 523,
"preview": "<?php\n\nnamespace App\\Http\\Middleware;\n\nuse Closure;\nuse Illuminate\\Support\\Facades\\Auth;\n\nclass RedirectIfAuthenticated\n"
},
{
"path": "app/Http/Middleware/TrimStrings.php",
"chars": 340,
"preview": "<?php\n\nnamespace App\\Http\\Middleware;\n\nuse Illuminate\\Foundation\\Http\\Middleware\\TrimStrings as Middleware;\n\nclass TrimS"
},
{
"path": "app/Http/Middleware/TrustProxies.php",
"chars": 607,
"preview": "<?php\n\nnamespace App\\Http\\Middleware;\n\nuse Illuminate\\Http\\Request;\nuse Illuminate\\Http\\Middleware\\TrustProxies as Middl"
},
{
"path": "app/Http/Middleware/VerifyCsrfToken.php",
"chars": 463,
"preview": "<?php\n\nnamespace App\\Http\\Middleware;\n\nuse Illuminate\\Foundation\\Http\\Middleware\\VerifyCsrfToken as Middleware;\n\nclass V"
},
{
"path": "app/Http/Requests/AddCustomerRequest.php",
"chars": 1469,
"preview": "<?php\n\nnamespace App\\Http\\Requests;\n\nuse Illuminate\\Foundation\\Http\\FormRequest;\n\nclass AddCustomerRequest extends FormR"
},
{
"path": "app/Http/Requests/AddKaryawanRequest.php",
"chars": 2492,
"preview": "<?php\n\nnamespace App\\Http\\Requests;\n\nuse Illuminate\\Foundation\\Http\\FormRequest;\n\nclass AddKaryawanRequest extends FormR"
},
{
"path": "app/Http/Requests/AddOrderRequest.php",
"chars": 1581,
"preview": "<?php\n\nnamespace App\\Http\\Requests;\n\nuse Illuminate\\Foundation\\Http\\FormRequest;\n\nclass AddOrderRequest extends FormRequ"
},
{
"path": "app/Http/Requests/HargaRequest.php",
"chars": 931,
"preview": "<?php\n\nnamespace App\\Http\\Requests;\n\nuse Illuminate\\Foundation\\Http\\FormRequest;\n\nclass HargaRequest extends FormRequest"
},
{
"path": "app/Http/Requests/LoginRequest.php",
"chars": 925,
"preview": "<?php\n\nnamespace App\\Http\\Requests;\n\nuse Illuminate\\Foundation\\Http\\FormRequest;\n\nclass LoginRequest extends FormRequest"
},
{
"path": "app/Http/Requests/UpdateProfilRequest.php",
"chars": 1141,
"preview": "<?php\n\nnamespace App\\Http\\Requests;\n\nuse Illuminate\\Foundation\\Http\\FormRequest;\n\nclass UpdateProfilRequest extends Form"
},
{
"path": "app/Jobs/DoneCustomerJob.php",
"chars": 815,
"preview": "<?php\n\nnamespace App\\Jobs;\n\nuse Illuminate\\Bus\\Queueable;\nuse Illuminate\\Contracts\\Queue\\ShouldBeUnique;\nuse Illuminate\\"
},
{
"path": "app/Jobs/OrderCustomerJob.php",
"chars": 818,
"preview": "<?php\n\nnamespace App\\Jobs;\n\nuse Illuminate\\Bus\\Queueable;\nuse Illuminate\\Contracts\\Queue\\ShouldBeUnique;\nuse Illuminate\\"
},
{
"path": "app/Jobs/RegisterCustomerJob.php",
"chars": 826,
"preview": "<?php\n\nnamespace App\\Jobs;\n\nuse Illuminate\\Bus\\Queueable;\nuse Illuminate\\Contracts\\Queue\\ShouldBeUnique;\nuse Illuminate\\"
},
{
"path": "app/Mail/DoneCustomer.php",
"chars": 790,
"preview": "<?php\n\nnamespace App\\Mail;\n\nuse Illuminate\\Bus\\Queueable;\nuse Illuminate\\Contracts\\Queue\\ShouldQueue;\nuse Illuminate\\Mai"
},
{
"path": "app/Mail/OrderCustomer.php",
"chars": 791,
"preview": "<?php\n\nnamespace App\\Mail;\n\nuse Illuminate\\Bus\\Queueable;\nuse Illuminate\\Contracts\\Queue\\ShouldQueue;\nuse Illuminate\\Mai"
},
{
"path": "app/Mail/RegisterCustomer.php",
"chars": 797,
"preview": "<?php\n\nnamespace App\\Mail;\n\nuse Illuminate\\Bus\\Queueable;\nuse Illuminate\\Contracts\\Queue\\ShouldQueue;\nuse Illuminate\\Mai"
},
{
"path": "app/Models/Bank.php",
"chars": 341,
"preview": "<?php\n\n/*\n * This file is part of the IndoBank package.\n *\n * (c) Andri Desmana <andridesmana.pw | andridesmana29@gmail."
},
{
"path": "app/Models/DataBank.php",
"chars": 356,
"preview": "<?php\n\nnamespace App\\Models;\n\nuse Illuminate\\Database\\Eloquent\\Factories\\HasFactory;\nuse Illuminate\\Database\\Eloquent\\Mo"
},
{
"path": "app/Models/LaundrySetting.php",
"chars": 279,
"preview": "<?php\n\nnamespace App\\Models;\n\nuse Illuminate\\Database\\Eloquent\\Factories\\HasFactory;\nuse Illuminate\\Database\\Eloquent\\Mo"
},
{
"path": "app/Models/Notification.php",
"chars": 213,
"preview": "<?php\n\nnamespace App\\Models;\n\nuse Illuminate\\Database\\Eloquent\\Factories\\HasFactory;\nuse Illuminate\\Database\\Eloquent\\Mo"
},
{
"path": "app/Models/PageSettings.php",
"chars": 371,
"preview": "<?php\n\nnamespace App\\Models;\n\nuse Illuminate\\Database\\Eloquent\\Factories\\HasFactory;\nuse Illuminate\\Database\\Eloquent\\Mo"
},
{
"path": "app/Models/User.php",
"chars": 1197,
"preview": "<?php\n\nnamespace App\\Models;\n\nuse Illuminate\\Notifications\\Notifiable;\nuse Illuminate\\Contracts\\Auth\\MustVerifyEmail;\nus"
},
{
"path": "app/Models/harga.php",
"chars": 396,
"preview": "<?php\n\nnamespace App\\Models;\n\nuse Illuminate\\Database\\Eloquent\\Model;\n\nclass harga extends Model\n{\n protected $fillab"
},
{
"path": "app/Models/notifications_setting.php",
"chars": 320,
"preview": "<?php\n\nnamespace App\\Models;\n\nuse Illuminate\\Database\\Eloquent\\Factories\\HasFactory;\nuse Illuminate\\Database\\Eloquent\\Mo"
},
{
"path": "app/Models/transaksi.php",
"chars": 760,
"preview": "<?php\n\nnamespace App\\Models;\n\nuse Illuminate\\Database\\Eloquent\\Model;\nuse Illuminate\\Notifications\\Notifiable;\n\nclass tr"
},
{
"path": "app/Notifications/OrderMasuk.php",
"chars": 1788,
"preview": "<?php\n\nnamespace App\\Notifications;\n\nuse Illuminate\\Bus\\Queueable;\nuse Illuminate\\Contracts\\Queue\\ShouldQueue;\nuse Illum"
},
{
"path": "app/Notifications/OrderSelesai.php",
"chars": 1737,
"preview": "<?php\n\nnamespace App\\Notifications;\n\nuse Illuminate\\Bus\\Queueable;\nuse Illuminate\\Contracts\\Queue\\ShouldQueue;\nuse Illum"
},
{
"path": "app/Providers/AppServiceProvider.php",
"chars": 474,
"preview": "<?php\n\nnamespace App\\Providers;\n\nuse Illuminate\\Support\\ServiceProvider;\nuse Illuminate\\Support\\Facades\\Schema;\n\n\nclass "
},
{
"path": "app/Providers/AuthServiceProvider.php",
"chars": 578,
"preview": "<?php\n\nnamespace App\\Providers;\n\nuse Illuminate\\Support\\Facades\\Gate;\nuse Illuminate\\Foundation\\Support\\Providers\\AuthSe"
},
{
"path": "app/Providers/BroadcastServiceProvider.php",
"chars": 380,
"preview": "<?php\n\nnamespace App\\Providers;\n\nuse Illuminate\\Support\\ServiceProvider;\nuse Illuminate\\Support\\Facades\\Broadcast;\n\nclas"
},
{
"path": "app/Providers/EventServiceProvider.php",
"chars": 710,
"preview": "<?php\n\nnamespace App\\Providers;\n\nuse Illuminate\\Support\\Facades\\Event;\nuse Illuminate\\Auth\\Events\\Registered;\nuse Illumi"
},
{
"path": "app/Providers/RouteServiceProvider.php",
"chars": 1529,
"preview": "<?php\n\nnamespace App\\Providers;\n\nuse Illuminate\\Support\\Facades\\Route;\nuse Illuminate\\Foundation\\Support\\Providers\\Route"
},
{
"path": "artisan",
"chars": 1686,
"preview": "#!/usr/bin/env php\n<?php\n\ndefine('LARAVEL_START', microtime(true));\n\n/*\n|-----------------------------------------------"
},
{
"path": "bootstrap/app.php",
"chars": 1620,
"preview": "<?php\n\n/*\n|--------------------------------------------------------------------------\n| Create The Application\n|--------"
},
{
"path": "bootstrap/cache/.gitignore",
"chars": 14,
"preview": "*\n!.gitignore\n"
},
{
"path": "composer.json",
"chars": 2073,
"preview": "{\n \"name\": \"laravel/laravel\",\n \"type\": \"project\",\n \"description\": \"The Laravel Framework.\",\n \"keywords\": [\n "
},
{
"path": "config/app.php",
"chars": 9582,
"preview": "<?php\n\nreturn [\n\n /*\n |--------------------------------------------------------------------------\n | Applicatio"
},
{
"path": "config/auth.php",
"chars": 3287,
"preview": "<?php\n\nreturn [\n\n /*\n |--------------------------------------------------------------------------\n | Authentica"
},
{
"path": "config/broadcasting.php",
"chars": 1604,
"preview": "<?php\n\nreturn [\n\n /*\n |--------------------------------------------------------------------------\n | Default Br"
},
{
"path": "config/cache.php",
"chars": 3014,
"preview": "<?php\n\nuse Illuminate\\Support\\Str;\n\nreturn [\n\n /*\n |--------------------------------------------------------------"
},
{
"path": "config/database.php",
"chars": 4947,
"preview": "<?php\n\nuse Illuminate\\Support\\Str;\n\nreturn [\n\n /*\n |--------------------------------------------------------------"
},
{
"path": "config/excel.php",
"chars": 12379,
"preview": "<?php\n\nuse Maatwebsite\\Excel\\Excel;\n\nreturn [\n 'exports' => [\n\n /*\n |----------------------------------"
},
{
"path": "config/filesystems.php",
"chars": 2133,
"preview": "<?php\n\nreturn [\n\n /*\n |--------------------------------------------------------------------------\n | Default Fi"
},
{
"path": "config/hashing.php",
"chars": 1571,
"preview": "<?php\n\nreturn [\n\n /*\n |--------------------------------------------------------------------------\n | Default Ha"
},
{
"path": "config/logging.php",
"chars": 2657,
"preview": "<?php\n\nuse Monolog\\Handler\\StreamHandler;\nuse Monolog\\Handler\\SyslogUdpHandler;\n\nreturn [\n\n /*\n |-----------------"
},
{
"path": "config/mail.php",
"chars": 4701,
"preview": "<?php\n\nreturn [\n\n /*\n |--------------------------------------------------------------------------\n | Mail Drive"
},
{
"path": "config/permission.php",
"chars": 4849,
"preview": "<?php\n\nreturn [\n\n 'models' => [\n\n /*\n * When using the \"HasPermissions\" trait from this package, we ne"
},
{
"path": "config/queue.php",
"chars": 2657,
"preview": "<?php\n\nreturn [\n\n /*\n |--------------------------------------------------------------------------\n | Default Qu"
},
{
"path": "config/services.php",
"chars": 1420,
"preview": "<?php\n\nreturn [\n\n /*\n |--------------------------------------------------------------------------\n | Third Part"
},
{
"path": "config/session.php",
"chars": 6972,
"preview": "<?php\n\nuse Illuminate\\Support\\Str;\n\nreturn [\n\n /*\n |--------------------------------------------------------------"
},
{
"path": "config/sweet-alert.php",
"chars": 204,
"preview": "<?php\n\nreturn [\n /*\n * This sets the global autoclose for all alerts.\n * If you want to change a specific al"
},
{
"path": "config/sweetalert.php",
"chars": 5865,
"preview": "<?php\n\nreturn [\n\n /*\n |--------------------------------------------------------------------------\n | CDN LINK\n "
},
{
"path": "config/view.php",
"chars": 1053,
"preview": "<?php\n\nreturn [\n\n /*\n |--------------------------------------------------------------------------\n | View Stora"
},
{
"path": "database/.gitignore",
"chars": 26,
"preview": "*.sqlite\n*.sqlite-journal\n"
},
{
"path": "database/factories/UserFactory.php",
"chars": 875,
"preview": "<?php\n\n/** @var \\Illuminate\\Database\\Eloquent\\Factory $factory */\nuse App\\User;\nuse Illuminate\\Support\\Str;\nuse Faker\\Ge"
},
{
"path": "database/migrations/2014_10_12_000000_create_users_table.php",
"chars": 1160,
"preview": "<?php\n\nuse Illuminate\\Support\\Facades\\Schema;\nuse Illuminate\\Database\\Schema\\Blueprint;\nuse Illuminate\\Database\\Migratio"
},
{
"path": "database/migrations/2014_10_12_100000_create_password_resets_table.php",
"chars": 683,
"preview": "<?php\n\nuse Illuminate\\Support\\Facades\\Schema;\nuse Illuminate\\Database\\Schema\\Blueprint;\nuse Illuminate\\Database\\Migratio"
},
{
"path": "database/migrations/2019_05_24_091904_create_transaksis_table.php",
"chars": 1413,
"preview": "<?php\n\nuse Illuminate\\Support\\Facades\\Schema;\nuse Illuminate\\Database\\Schema\\Blueprint;\nuse Illuminate\\Database\\Migratio"
},
{
"path": "database/migrations/2019_05_24_094505_create_hargas_table.php",
"chars": 924,
"preview": "<?php\n\nuse Illuminate\\Support\\Facades\\Schema;\nuse Illuminate\\Database\\Schema\\Blueprint;\nuse Illuminate\\Database\\Migratio"
},
{
"path": "database/migrations/2021_03_19_231220_create_page_settings_table.php",
"chars": 1057,
"preview": "<?php\n\nuse Illuminate\\Database\\Migrations\\Migration;\nuse Illuminate\\Database\\Schema\\Blueprint;\nuse Illuminate\\Support\\Fa"
},
{
"path": "database/migrations/2021_03_21_124956_add_theme_to_users_table.php",
"chars": 702,
"preview": "<?php\n\nuse Illuminate\\Database\\Migrations\\Migration;\nuse Illuminate\\Database\\Schema\\Blueprint;\nuse Illuminate\\Support\\Fa"
},
{
"path": "database/migrations/2021_03_22_001021_create_laundry_settings_table.php",
"chars": 940,
"preview": "<?php\n\nuse Illuminate\\Database\\Migrations\\Migration;\nuse Illuminate\\Database\\Schema\\Blueprint;\nuse Illuminate\\Support\\Fa"
},
{
"path": "database/migrations/2021_05_07_100208_create_permission_tables.php",
"chars": 4402,
"preview": "<?php\n\nuse Illuminate\\Support\\Facades\\Schema;\nuse Illuminate\\Database\\Schema\\Blueprint;\nuse Illuminate\\Database\\Migratio"
},
{
"path": "database/migrations/2021_05_07_135323_create_data_banks_table.php",
"chars": 882,
"preview": "<?php\n\nuse Illuminate\\Database\\Migrations\\Migration;\nuse Illuminate\\Database\\Schema\\Blueprint;\nuse Illuminate\\Support\\Fa"
},
{
"path": "database/migrations/2021_05_07_155403_add_field_in_transaksi.php",
"chars": 662,
"preview": "<?php\n\nuse Illuminate\\Database\\Migrations\\Migration;\nuse Illuminate\\Database\\Schema\\Blueprint;\nuse Illuminate\\Support\\Fa"
},
{
"path": "database/migrations/2021_05_11_130732_create_notifications_settings_table.php",
"chars": 934,
"preview": "<?php\n\nuse Illuminate\\Database\\Migrations\\Migration;\nuse Illuminate\\Database\\Schema\\Blueprint;\nuse Illuminate\\Support\\Fa"
},
{
"path": "database/migrations/2021_08_08_100000_create_banks_tables.php",
"chars": 742,
"preview": "<?php\n\n/*\n * This file is part of the IndoBank package.\n *\n * (c) Andri Desmana <andridesmana.pw | andridesmana29@gmail."
},
{
"path": "database/migrations/2021_12_30_231550_add_field_username_telegram_channel_to_notifications_settings_table.php",
"chars": 818,
"preview": "<?php\n\nuse Illuminate\\Database\\Migrations\\Migration;\nuse Illuminate\\Database\\Schema\\Blueprint;\nuse Illuminate\\Support\\Fa"
},
{
"path": "database/migrations/2022_01_28_171610_add_field_foto_to_users_table.php",
"chars": 632,
"preview": "<?php\n\nuse Illuminate\\Database\\Migrations\\Migration;\nuse Illuminate\\Database\\Schema\\Blueprint;\nuse Illuminate\\Support\\Fa"
},
{
"path": "database/migrations/2022_01_29_185408_add_field_token_wa_to_notifications_settings_table.php",
"chars": 782,
"preview": "<?php\n\nuse Illuminate\\Database\\Migrations\\Migration;\nuse Illuminate\\Database\\Schema\\Blueprint;\nuse Illuminate\\Support\\Fa"
},
{
"path": "database/migrations/2022_01_31_105111_update_field_auth_in_users_table.php",
"chars": 662,
"preview": "<?php\n\nuse Illuminate\\Database\\Migrations\\Migration;\nuse Illuminate\\Database\\Schema\\Blueprint;\nuse Illuminate\\Support\\Fa"
},
{
"path": "database/migrations/2022_01_31_112034_add_field_karyawan_id_wa_in_users_table.php",
"chars": 771,
"preview": "<?php\n\nuse Illuminate\\Database\\Migrations\\Migration;\nuse Illuminate\\Database\\Schema\\Blueprint;\nuse Illuminate\\Support\\Fa"
},
{
"path": "database/migrations/2022_02_02_220553_create_jobs_table.php",
"chars": 860,
"preview": "<?php\n\nuse Illuminate\\Database\\Migrations\\Migration;\nuse Illuminate\\Database\\Schema\\Blueprint;\nuse Illuminate\\Support\\Fa"
},
{
"path": "database/migrations/2022_02_02_231121_create_failed_jobs_table.php",
"chars": 820,
"preview": "<?php\n\nuse Illuminate\\Database\\Migrations\\Migration;\nuse Illuminate\\Database\\Schema\\Blueprint;\nuse Illuminate\\Support\\Fa"
},
{
"path": "database/migrations/2022_02_03_144826_add_field_point_in_users_table.php",
"chars": 634,
"preview": "<?php\n\nuse Illuminate\\Database\\Migrations\\Migration;\nuse Illuminate\\Database\\Schema\\Blueprint;\nuse Illuminate\\Support\\Fa"
},
{
"path": "database/migrations/2022_09_27_125933_create_notifications_table.php",
"chars": 870,
"preview": "<?php\n\nuse Illuminate\\Database\\Migrations\\Migration;\nuse Illuminate\\Database\\Schema\\Blueprint;\nuse Illuminate\\Support\\Fa"
},
{
"path": "database/seeders/DatabaseSeeder.php",
"chars": 403,
"preview": "<?php\nnamespace Database\\Seeders;\n\nuse Illuminate\\Database\\Seeder;\n\nclass DatabaseSeeder extends Seeder\n{\n /**\n *"
},
{
"path": "database/seeders/IndoBankSeeder.php",
"chars": 589,
"preview": "<?php\n\n/*\n * This file is part of the IndoBank package.\n *\n * (c) Andri Desmana <andridesmana.pw | andridesmana29@gmail."
},
{
"path": "database/seeders/RoleSeeder.php",
"chars": 306,
"preview": "<?php\n\nnamespace Database\\Seeders;\n\nuse Illuminate\\Database\\Seeder;\nuse Spatie\\Permission\\Models\\Role;\n\nclass RoleSeeder"
},
{
"path": "database/seeders/SettingPageSeeder.php",
"chars": 336,
"preview": "<?php\n\nnamespace Database\\Seeders;\n\nuse Illuminate\\Database\\Seeder;\nuse App\\Models\\PageSettings;\n\nclass SettingPageSeede"
},
{
"path": "database/seeders/addRoleSeeder.php",
"chars": 308,
"preview": "<?php\n\nnamespace Database\\Seeders;\n\nuse Illuminate\\Database\\Seeder;\nuse Spatie\\Permission\\Models\\Role;\n\nclass addRoleSee"
},
{
"path": "package.json",
"chars": 861,
"preview": "{\n \"private\": true,\n \"scripts\": {\n \"dev\": \"npm run development\",\n \"development\": \"mix\",\n \"wat"
},
{
"path": "phpunit.xml",
"chars": 1156,
"preview": "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<phpunit backupGlobals=\"false\"\n backupStaticAttributes=\"false\"\n b"
},
{
"path": "public/.htaccess",
"chars": 593,
"preview": "<IfModule mod_rewrite.c>\n <IfModule mod_negotiation.c>\n Options -MultiViews -Indexes\n </IfModule>\n\n Rewr"
},
{
"path": "public/backend/css/bootstrap-extended.css",
"chars": 79365,
"preview": "/*========================================================\n DARK LAYOUT\n========================================="
},
{
"path": "public/backend/css/bootstrap.css",
"chars": 189914,
"preview": "/*!\n * Bootstrap v4.3.1 (https://getbootstrap.com/)\n * Copyright 2011-2019 The Bootstrap Authors\n * Copyright 2011-2019 "
},
{
"path": "public/backend/css/colors.css",
"chars": 201088,
"preview": ".white {\n color: #FFFFFF !important; }\n\n.bg-white {\n background-color: #FFFFFF !important; }\n .bg-white .card-header,"
},
{
"path": "public/backend/css/components.css",
"chars": 84805,
"preview": "/*========================================================\n DARK LAYOUT\n========================================="
},
{
"path": "public/backend/css/core/colors/palette-gradient.css",
"chars": 4300,
"preview": ".bg-gradient-white {\n color: #fff;\n background-image: linear-gradient(30deg, #FFFFFF, rgba(255, 255, 255, 0.5));\n bac"
},
{
"path": "public/backend/css/core/colors/palette-noui.css",
"chars": 3204,
"preview": ".slider-white .noUi-connect {\n background: #FFFFFF !important; }\n\n.slider-white.noUi-connect {\n background: #FFFFFF !i"
},
{
"path": "public/backend/css/core/colors/palette-variables.css",
"chars": 0,
"preview": ""
},
{
"path": "public/backend/css/core/menu/menu-types/horizontal-menu.css",
"chars": 13953,
"preview": "/*=========================================================================================\n\tFile Name: horizontal-menu."
},
{
"path": "public/backend/css/core/menu/menu-types/vertical-menu.css",
"chars": 16038,
"preview": "/*=========================================================================================\n File Name: vertical-menu"
},
{
"path": "public/backend/css/core/menu/menu-types/vertical-overlay-menu.css",
"chars": 2937,
"preview": "/*=========================================================================================\n File Name: vertical-over"
},
{
"path": "public/backend/css/core/mixins/alert.css",
"chars": 0,
"preview": ""
},
{
"path": "public/backend/css/core/mixins/hex2rgb.css",
"chars": 0,
"preview": ""
},
{
"path": "public/backend/css/core/mixins/main-menu-mixin.css",
"chars": 0,
"preview": ""
},
{
"path": "public/backend/css/core/mixins/transitions.css",
"chars": 0,
"preview": ""
},
{
"path": "public/backend/css/pages/aggrid.css",
"chars": 2332,
"preview": "/*========================================================\n DARK LAYOUT\n========================================="
},
{
"path": "public/backend/css/pages/app-chat.css",
"chars": 10238,
"preview": "/*========================================================\n DARK LAYOUT\n========================================="
},
{
"path": "public/backend/css/pages/app-ecommerce-details.css",
"chars": 2095,
"preview": "/*========================================================\n DARK LAYOUT\n========================================="
},
{
"path": "public/backend/css/pages/app-ecommerce-shop.css",
"chars": 18122,
"preview": "/*========================================================\n DARK LAYOUT\n========================================="
},
{
"path": "public/backend/css/pages/app-email.css",
"chars": 775638,
"preview": "/*========================================================\n DARK LAYOUT\n========================================="
},
{
"path": "public/backend/css/pages/app-todo.css",
"chars": 810885,
"preview": "/*========================================================\n DARK LAYOUT\n========================================="
},
{
"path": "public/backend/css/pages/app-user.css",
"chars": 1527,
"preview": "/*========================================================\n DARK LAYOUT\n========================================="
},
{
"path": "public/backend/css/pages/app-users.css",
"chars": 4468,
"preview": "/*========================================================\n DARK LAYOUT\n========================================="
},
{
"path": "public/backend/css/pages/authentication.css",
"chars": 517,
"preview": "/*========================================================\n DARK LAYOUT\n========================================="
},
{
"path": "public/backend/css/pages/card-analytics.css",
"chars": 1258,
"preview": "/*========================================================\n DARK LAYOUT\n========================================="
},
{
"path": "public/backend/css/pages/colors.css",
"chars": 290,
"preview": "/*========================================================\n DARK LAYOUT\n========================================="
},
{
"path": "public/backend/css/pages/coming-soon.css",
"chars": 155,
"preview": "/*========== Coming Soon Background Image =========*/\n.clockCard {\n float: left; }\n\n.getting-started {\n font-size: 3re"
},
{
"path": "public/backend/css/pages/dashboard-analytics.css",
"chars": 942,
"preview": "/*========================================================\n DARK LAYOUT\n========================================="
},
{
"path": "public/backend/css/pages/dashboard-ecommerce.css",
"chars": 1647,
"preview": "/*========================================================\n DARK LAYOUT\n========================================="
},
{
"path": "public/backend/css/pages/data-list-view.css",
"chars": 17591,
"preview": "/*========================================================\n DARK LAYOUT\n========================================="
},
{
"path": "public/backend/css/pages/error.css",
"chars": 36,
"preview": ".error-code {\n font-size: 10rem; }\n"
},
{
"path": "public/backend/css/pages/faq.css",
"chars": 1040,
"preview": "/*========================================================\n DARK LAYOUT\n========================================="
},
{
"path": "public/backend/css/pages/invoice.css",
"chars": 1190,
"preview": "/*========================================================\n DARK LAYOUT\n========================================="
},
{
"path": "public/backend/css/pages/knowledge-base.css",
"chars": 942,
"preview": "/*========================================================\n DARK LAYOUT\n========================================="
},
{
"path": "public/backend/css/pages/page-auth.css",
"chars": 6007,
"preview": ".auth-wrapper {\n display: flex;\n flex-basis: 100%;\n min-height: 100vh;\n min-height: calc(var(--vh, 1vh) * 100);\n wi"
},
{
"path": "public/backend/css/pages/register.css",
"chars": 0,
"preview": ""
},
{
"path": "public/backend/css/pages/search.css",
"chars": 1138,
"preview": "/*========================================================\n DARK LAYOUT\n========================================="
},
{
"path": "public/backend/css/pages/timeline.css",
"chars": 19500,
"preview": "/*========================================================\n DARK LAYOUT\n========================================="
},
{
"path": "public/backend/css/pages/user-settings.css",
"chars": 350,
"preview": "/*========================================================\n DARK LAYOUT\n========================================="
},
{
"path": "public/backend/css/pages/users.css",
"chars": 1854,
"preview": "/*========================================================\n DARK LAYOUT\n========================================="
},
{
"path": "public/backend/css/plugins/animate/animate.css",
"chars": 70969,
"preview": ".animated {\n -webkit-animation-duration: 1s;\n animation-duration: 1s;\n -webkit-animation-fill-mode: both;\n animation"
},
{
"path": "public/backend/css/plugins/extensions/context-menu.css",
"chars": 385,
"preview": "/*========================================================\n DARK LAYOUT\n========================================="
},
{
"path": "public/backend/css/plugins/extensions/drag-and-drop.css",
"chars": 522,
"preview": "#draggable-cards .card {\n cursor: grab; }\n\n#basic-list-group .list-group-item, #multiple-list-group-a .list-group-item,"
},
{
"path": "public/backend/css/plugins/extensions/media-plyr.css",
"chars": 127,
"preview": ".audio-player:focus {\n outline: 0; }\n\n.plyr__controls {\n justify-content: flex-start; }\n\n.plyr__progress {\n flex-grow"
},
{
"path": "public/backend/css/plugins/extensions/noui-slider.css",
"chars": 3421,
"preview": "/*========================================================\n DARK LAYOUT\n========================================="
},
{
"path": "public/backend/css/plugins/extensions/swiper.css",
"chars": 4409,
"preview": "/*=========================================================================================\n File Name: swiper.scss\n "
},
{
"path": "public/backend/css/plugins/extensions/toastr.css",
"chars": 732,
"preview": "/*========================================================\n DARK LAYOUT\n========================================="
},
{
"path": "public/backend/css/plugins/forms/extended/typeahed.css",
"chars": 675,
"preview": "/* Typeahead Starts */\n.typeahead .twitter-typeahead {\n width: 100%; }\n .typeahead .twitter-typeahead .tt-menu {\n w"
},
{
"path": "public/backend/css/plugins/forms/form-inputs-groups.css",
"chars": 1142,
"preview": "/*========================================================\n DARK LAYOUT\n========================================="
},
{
"path": "public/backend/css/plugins/forms/validation/form-validation.css",
"chars": 975,
"preview": "/*========================================================\n DARK LAYOUT\n========================================="
},
{
"path": "public/backend/css/plugins/forms/wizard.css",
"chars": 7906,
"preview": "/*========================================================\n DARK LAYOUT\n========================================="
},
{
"path": "public/backend/css/plugins/loaders/animations/ball-beat.css",
"chars": 573,
"preview": "/*========================================================\n DARK LAYOUT\n========================================="
},
{
"path": "public/backend/css/plugins/loaders/animations/ball-clip-rotate-multiple.css",
"chars": 992,
"preview": "/*========================================================\n DARK LAYOUT\n========================================="
},
{
"path": "public/backend/css/plugins/loaders/animations/ball-clip-rotate-pulse.css",
"chars": 1265,
"preview": "/*========================================================\n DARK LAYOUT\n========================================="
},
{
"path": "public/backend/css/plugins/loaders/animations/ball-clip-rotate.css",
"chars": 672,
"preview": "/*========================================================\n DARK LAYOUT\n========================================="
},
{
"path": "public/backend/css/plugins/loaders/animations/ball-grid-beat.css",
"chars": 1475,
"preview": "/*========================================================\n DARK LAYOUT\n========================================="
},
{
"path": "public/backend/css/plugins/loaders/animations/ball-grid-pulse.css",
"chars": 1574,
"preview": "/*========================================================\n DARK LAYOUT\n========================================="
},
{
"path": "public/backend/css/plugins/loaders/animations/ball-pulse-rise.css",
"chars": 1169,
"preview": "/*========================================================\n DARK LAYOUT\n========================================="
},
{
"path": "public/backend/css/plugins/loaders/animations/ball-pulse-round.css",
"chars": 463,
"preview": "/*========================================================\n DARK LAYOUT\n========================================="
},
{
"path": "public/backend/css/plugins/loaders/animations/ball-pulse-sync.css",
"chars": 786,
"preview": "/*========================================================\n DARK LAYOUT\n========================================="
},
{
"path": "public/backend/css/plugins/loaders/animations/ball-pulse.css",
"chars": 829,
"preview": "/*========================================================\n DARK LAYOUT\n========================================="
},
{
"path": "public/backend/css/plugins/loaders/animations/ball-rotate.css",
"chars": 1005,
"preview": "/*========================================================\n DARK LAYOUT\n========================================="
},
{
"path": "public/backend/css/plugins/loaders/animations/ball-scale-multiple.css",
"chars": 831,
"preview": "/*========================================================\n DARK LAYOUT\n========================================="
},
{
"path": "public/backend/css/plugins/loaders/animations/ball-scale-random.css",
"chars": 1155,
"preview": "/*========================================================\n DARK LAYOUT\n========================================="
},
{
"path": "public/backend/css/plugins/loaders/animations/ball-scale-ripple-multiple.css",
"chars": 1041,
"preview": "/*========================================================\n DARK LAYOUT\n========================================="
},
{
"path": "public/backend/css/plugins/loaders/animations/ball-scale-ripple.css",
"chars": 531,
"preview": "/*========================================================\n DARK LAYOUT\n========================================="
},
{
"path": "public/backend/css/plugins/loaders/animations/ball-scale.css",
"chars": 509,
"preview": "/*========================================================\n DARK LAYOUT\n========================================="
},
{
"path": "public/backend/css/plugins/loaders/animations/ball-spin-fade-loader.css",
"chars": 1745,
"preview": "/*========================================================\n DARK LAYOUT\n========================================="
},
{
"path": "public/backend/css/plugins/loaders/animations/ball-spin-loader.css",
"chars": 1537,
"preview": "/*========================================================\n DARK LAYOUT\n========================================="
},
{
"path": "public/backend/css/plugins/loaders/animations/ball-triangle-trace.css",
"chars": 1843,
"preview": "/*========================================================\n DARK LAYOUT\n========================================="
},
{
"path": "public/backend/css/plugins/loaders/animations/ball-zig-zag-deflect.css",
"chars": 1316,
"preview": "/*========================================================\n DARK LAYOUT\n========================================="
},
{
"path": "public/backend/css/plugins/loaders/animations/ball-zig-zag.css",
"chars": 972,
"preview": "/*========================================================\n DARK LAYOUT\n========================================="
},
{
"path": "public/backend/css/plugins/loaders/animations/cube-transition.css",
"chars": 812,
"preview": "/*========================================================\n DARK LAYOUT\n========================================="
},
{
"path": "public/backend/css/plugins/loaders/animations/line-scale-pulse-out-rapid.css",
"chars": 884,
"preview": "/*========================================================\n DARK LAYOUT\n========================================="
},
{
"path": "public/backend/css/plugins/loaders/animations/line-scale-pulse-out.css",
"chars": 819,
"preview": "/*========================================================\n DARK LAYOUT\n========================================="
}
]
// ... and 481 more files (download for full content)
About this extraction
This page contains the full source code of the andes2912/laundry GitHub repository, extracted and formatted as plain text for AI agents and large language models (LLMs). The extraction includes 681 files (14.3 MB), approximately 3.8M tokens, and a symbol index with 4151 extracted functions, classes, methods, constants, and types. Use this with OpenClaw, Claude, ChatGPT, Cursor, Windsurf, or any other AI tool that accepts text input. You can copy the full output to your clipboard or download it as a .txt file.
Extracted by GitExtract — free GitHub repo to text converter for AI. Built by Nikandr Surkov.