ezii-os 1.1.0 → 2.0.1
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/Gemfile +11 -3
- data/Gemfile.lock +34 -17
- data/Procfile +1 -0
- data/app/assets/stylesheets/address_searches.scss +3 -0
- data/app/assets/stylesheets/application.css +6 -0
- data/app/assets/stylesheets/banal/documents.scss +3 -0
- data/app/assets/stylesheets/banal/employees.scss +3 -0
- data/app/assets/stylesheets/banal/links.scss +3 -0
- data/app/assets/stylesheets/banal/metadata.scss +3 -0
- data/app/assets/stylesheets/banal/related_objects.scss +3 -0
- data/app/assets/stylesheets/banal_complexes.scss +3 -0
- data/app/assets/stylesheets/comments.scss +3 -0
- data/app/assets/stylesheets/employees.scss +3 -0
- data/app/controllers/address_searches_controller.rb +76 -0
- data/app/controllers/banal/brainstorms_controller.rb +22 -2
- data/app/controllers/banal/documents_controller.rb +90 -0
- data/app/controllers/banal/employees_controller.rb +74 -0
- data/app/controllers/banal/links_controller.rb +82 -0
- data/app/controllers/banal/metadata_controller.rb +74 -0
- data/app/controllers/banal/projects_controller.rb +1 -1
- data/app/controllers/banal/related_objects_controller.rb +74 -0
- data/app/controllers/banal_complexes_controller.rb +74 -0
- data/app/controllers/comments_controller.rb +90 -0
- data/app/controllers/concerns/banal/related_object_creation_and_linking.rb +11 -0
- data/app/controllers/employees_controller.rb +74 -0
- data/app/helpers/address_searches_helper.rb +2 -0
- data/app/helpers/banal/documents_helper.rb +2 -0
- data/app/helpers/banal/employees_helper.rb +2 -0
- data/app/helpers/banal/links_helper.rb +2 -0
- data/app/helpers/banal/metadata_helper.rb +2 -0
- data/app/helpers/banal/related_objects_helper.rb +2 -0
- data/app/helpers/banal_complexes_helper.rb +2 -0
- data/app/helpers/comments_helper.rb +2 -0
- data/app/helpers/employees_helper.rb +2 -0
- data/app/javascript/packs/application.js +5 -0
- data/app/models/address_search.rb +2 -0
- data/app/models/banal/brainstorm.rb +3 -0
- data/app/models/banal/document.rb +4 -0
- data/app/models/banal/employee.rb +2 -0
- data/app/models/banal/link.rb +4 -0
- data/app/models/banal/metadatum.rb +2 -0
- data/app/models/banal/project.rb +5 -3
- data/app/models/banal/related_object.rb +5 -0
- data/app/models/banal_complex.rb +3 -0
- data/app/models/banal_dropbox_api.rb +8 -0
- data/app/models/comment.rb +4 -0
- data/app/models/employee.rb +2 -0
- data/app/models/ezii_os_path.rb +8 -0
- data/app/views/address_searches/_address_search.json.jbuilder +2 -0
- data/app/views/address_searches/_form.html.erb +27 -0
- data/app/views/address_searches/edit.html.erb +6 -0
- data/app/views/address_searches/index.html.erb +29 -0
- data/app/views/address_searches/index.json.jbuilder +1 -0
- data/app/views/address_searches/new.html.erb +5 -0
- data/app/views/address_searches/show.html.erb +18 -0
- data/app/views/address_searches/show.json.jbuilder +1 -0
- data/app/views/application/_navbar.html.erb +10 -0
- data/app/views/banal/brainstorms/_comment.html.erb +35 -0
- data/app/views/banal/brainstorms/_comments.html.erb +3 -0
- data/app/views/banal/brainstorms/_form.html.erb +0 -5
- data/app/views/banal/brainstorms/index.html.erb +29 -6
- data/app/views/banal/documents/_banal_document.json.jbuilder +2 -0
- data/app/views/banal/documents/_form.html.erb +61 -0
- data/app/views/banal/documents/edit.html.erb +6 -0
- data/app/views/banal/documents/index.html.erb +31 -0
- data/app/views/banal/documents/index.json.jbuilder +1 -0
- data/app/views/banal/documents/new.html.erb +32 -0
- data/app/views/banal/documents/show.html.erb +19 -0
- data/app/views/banal/documents/show.json.jbuilder +1 -0
- data/app/views/banal/employees/_banal_employee.json.jbuilder +2 -0
- data/app/views/banal/employees/_form.html.erb +77 -0
- data/app/views/banal/employees/edit.html.erb +6 -0
- data/app/views/banal/employees/index.html.erb +49 -0
- data/app/views/banal/employees/index.json.jbuilder +1 -0
- data/app/views/banal/employees/new.html.erb +5 -0
- data/app/views/banal/employees/show.html.erb +64 -0
- data/app/views/banal/employees/show.json.jbuilder +1 -0
- data/app/views/banal/links/_banal_link.json.jbuilder +2 -0
- data/app/views/banal/links/_form.html.erb +47 -0
- data/app/views/banal/links/edit.html.erb +6 -0
- data/app/views/banal/links/index.html.erb +31 -0
- data/app/views/banal/links/index.json.jbuilder +1 -0
- data/app/views/banal/links/new.html.erb +5 -0
- data/app/views/banal/links/show.html.erb +19 -0
- data/app/views/banal/links/show.json.jbuilder +1 -0
- data/app/views/banal/metadata/_banal_metadatum.json.jbuilder +2 -0
- data/app/views/banal/metadata/_form.html.erb +32 -0
- data/app/views/banal/metadata/edit.html.erb +6 -0
- data/app/views/banal/metadata/index.html.erb +31 -0
- data/app/views/banal/metadata/index.json.jbuilder +1 -0
- data/app/views/banal/metadata/new.html.erb +5 -0
- data/app/views/banal/metadata/show.html.erb +19 -0
- data/app/views/banal/metadata/show.json.jbuilder +1 -0
- data/app/views/banal/projects/_banal_project.json.jbuilder +1 -1
- data/app/views/banal/projects/_form.html.erb +40 -0
- data/app/views/banal/projects/index.html.erb +18 -4
- data/app/views/banal/projects/show.html.erb +65 -3
- data/app/views/banal/related_objects/_banal_related_object.json.jbuilder +2 -0
- data/app/views/banal/related_objects/_form.html.erb +27 -0
- data/app/views/banal/related_objects/_hidden_fields.html.erb +2 -0
- data/app/views/banal/related_objects/edit.html.erb +6 -0
- data/app/views/banal/related_objects/index.html.erb +29 -0
- data/app/views/banal/related_objects/index.json.jbuilder +1 -0
- data/app/views/banal/related_objects/new.html.erb +5 -0
- data/app/views/banal/related_objects/show.html.erb +14 -0
- data/app/views/banal/related_objects/show.json.jbuilder +1 -0
- data/app/views/banal_complexes/_banal_complex.json.jbuilder +2 -0
- data/app/views/banal_complexes/_form.html.erb +27 -0
- data/app/views/banal_complexes/edit.html.erb +6 -0
- data/app/views/banal_complexes/index.html.erb +42 -0
- data/app/views/banal_complexes/index.json.jbuilder +1 -0
- data/app/views/banal_complexes/new.html.erb +5 -0
- data/app/views/banal_complexes/show.html.erb +14 -0
- data/app/views/banal_complexes/show.json.jbuilder +1 -0
- data/app/views/comments/_comment.json.jbuilder +2 -0
- data/app/views/comments/_form.html.erb +32 -0
- data/app/views/comments/edit.html.erb +6 -0
- data/app/views/comments/index.html.erb +31 -0
- data/app/views/comments/index.json.jbuilder +1 -0
- data/app/views/comments/new.html.erb +5 -0
- data/app/views/comments/show.html.erb +19 -0
- data/app/views/comments/show.json.jbuilder +1 -0
- data/app/views/directories/show.html.erb +17 -3
- data/app/views/employees/_employee.json.jbuilder +2 -0
- data/app/views/employees/_form.html.erb +77 -0
- data/app/views/employees/edit.html.erb +6 -0
- data/app/views/employees/index.html.erb +49 -0
- data/app/views/employees/index.json.jbuilder +1 -0
- data/app/views/employees/new.html.erb +5 -0
- data/app/views/employees/show.html.erb +64 -0
- data/app/views/employees/show.json.jbuilder +1 -0
- data/app/views/layouts/application.html.erb +87 -5
- data/banal-data-science.bash +4 -0
- data/config/database.yml +3 -24
- data/config/routes.rb +24 -1
- data/db/development.sqlite3 +0 -0
- data/db/migrate/20190913073109_create_banal_projects.rb +17 -0
- data/db/migrate/20190913073110_create_banal_metadata.rb +11 -0
- data/db/migrate/20190913073111_create_banal_related_objects.rb +10 -0
- data/db/migrate/20190913143313_create_banal_documents.rb +11 -0
- data/db/migrate/20190913143326_create_banal_links.rb +11 -0
- data/db/migrate/20190915110713_add_dropbox_file_id_to_banal_documents.rb +5 -0
- data/db/migrate/20190915195312_add_deleted_at_to_banal_brainstorms.rb +6 -0
- data/db/migrate/20190915205450_create_employees.rb +20 -0
- data/db/migrate/20190915205629_create_banal_employees.rb +20 -0
- data/db/migrate/20190916094440_create_address_searches.rb +10 -0
- data/db/migrate/20190918222028_create_comments.rb +12 -0
- data/db/migrate/20190919164900_create_banal_complexes.rb +11 -0
- data/db/schema.rb +137 -7
- data/ezii-os-2.0.0.gem +0 -0
- data/ezii-os.gemspec +3 -4
- data/latest.dump +0 -0
- data/log/development.log +22199 -0
- data/node_modules/chart.js/LICENSE.md +9 -0
- data/node_modules/chart.js/README.md +32 -0
- data/node_modules/chart.js/bower.json +16 -0
- data/node_modules/chart.js/composer.json +26 -0
- data/node_modules/chart.js/dist/Chart.bundle.js +19288 -0
- data/node_modules/chart.js/dist/Chart.bundle.min.js +7 -0
- data/node_modules/chart.js/dist/Chart.css +47 -0
- data/node_modules/chart.js/dist/Chart.js +14680 -0
- data/node_modules/chart.js/dist/Chart.min.css +1 -0
- data/node_modules/chart.js/dist/Chart.min.js +7 -0
- data/node_modules/chart.js/package.json +69 -0
- data/node_modules/chartjs-color/CHANGELOG.md +35 -0
- data/node_modules/chartjs-color/LICENSE +21 -0
- data/node_modules/chartjs-color/README.md +126 -0
- data/node_modules/chartjs-color/index.js +485 -0
- data/node_modules/chartjs-color/node_modules/color-convert/CHANGELOG.md +4 -0
- data/node_modules/chartjs-color/node_modules/color-convert/LICENSE +21 -0
- data/node_modules/chartjs-color/node_modules/color-convert/README.md +57 -0
- data/node_modules/chartjs-color/node_modules/color-convert/component.json +9 -0
- data/node_modules/chartjs-color/node_modules/color-convert/conversions.js +698 -0
- data/node_modules/chartjs-color/node_modules/color-convert/index.js +92 -0
- data/node_modules/chartjs-color/node_modules/color-convert/package.json +20 -0
- data/node_modules/chartjs-color/node_modules/color-convert/test/basic.js +187 -0
- data/node_modules/chartjs-color/node_modules/color-convert/test/speed.js +23 -0
- data/node_modules/chartjs-color/package.json +49 -0
- data/node_modules/chartjs-color-string/CHANGELOG.md +11 -0
- data/node_modules/chartjs-color-string/LICENSE +21 -0
- data/node_modules/chartjs-color-string/README.md +46 -0
- data/node_modules/chartjs-color-string/color-string.js +237 -0
- data/node_modules/chartjs-color-string/package.json +24 -0
- data/node_modules/chartjs-color-string/test/basic.js +110 -0
- data/node_modules/chartkick/CHANGELOG.md +215 -0
- data/node_modules/chartkick/LICENSE.txt +22 -0
- data/node_modules/chartkick/README.md +537 -0
- data/node_modules/chartkick/dist/chartkick.esm.js +2286 -0
- data/node_modules/chartkick/dist/chartkick.js +2294 -0
- data/node_modules/chartkick/dist/chartkick.min.js +1 -0
- data/node_modules/chartkick/package.json +34 -0
- data/node_modules/{color-string → color-convert}/node_modules/color-name/LICENSE +0 -0
- data/node_modules/{color-string → color-convert}/node_modules/color-name/README.md +0 -0
- data/node_modules/{color-string → color-convert}/node_modules/color-name/index.js +0 -0
- data/node_modules/{color-string → color-convert}/node_modules/color-name/package.json +25 -28
- data/node_modules/{color-name → color-convert/node_modules/color-name}/test.js +0 -0
- data/node_modules/color-name/package.json +28 -25
- data/node_modules/moment/CHANGELOG.md +895 -0
- data/node_modules/moment/LICENSE +22 -0
- data/node_modules/moment/README.md +65 -0
- data/node_modules/moment/ender.js +1 -0
- data/node_modules/moment/locale/af.js +72 -0
- data/node_modules/moment/locale/ar-dz.js +58 -0
- data/node_modules/moment/locale/ar-kw.js +58 -0
- data/node_modules/moment/locale/ar-ly.js +121 -0
- data/node_modules/moment/locale/ar-ma.js +58 -0
- data/node_modules/moment/locale/ar-sa.js +103 -0
- data/node_modules/moment/locale/ar-tn.js +58 -0
- data/node_modules/moment/locale/ar.js +134 -0
- data/node_modules/moment/locale/az.js +104 -0
- data/node_modules/moment/locale/be.js +131 -0
- data/node_modules/moment/locale/bg.js +89 -0
- data/node_modules/moment/locale/bm.js +57 -0
- data/node_modules/moment/locale/bn.js +118 -0
- data/node_modules/moment/locale/bo.js +118 -0
- data/node_modules/moment/locale/br.js +107 -0
- data/node_modules/moment/locale/bs.js +150 -0
- data/node_modules/moment/locale/ca.js +87 -0
- data/node_modules/moment/locale/cs.js +171 -0
- data/node_modules/moment/locale/cv.js +62 -0
- data/node_modules/moment/locale/cy.js +79 -0
- data/node_modules/moment/locale/da.js +59 -0
- data/node_modules/moment/locale/de-at.js +75 -0
- data/node_modules/moment/locale/de-ch.js +75 -0
- data/node_modules/moment/locale/de.js +75 -0
- data/node_modules/moment/locale/dv.js +98 -0
- data/node_modules/moment/locale/el.js +99 -0
- data/node_modules/moment/locale/en-SG.js +66 -0
- data/node_modules/moment/locale/en-au.js +66 -0
- data/node_modules/moment/locale/en-ca.js +62 -0
- data/node_modules/moment/locale/en-gb.js +66 -0
- data/node_modules/moment/locale/en-ie.js +66 -0
- data/node_modules/moment/locale/en-il.js +61 -0
- data/node_modules/moment/locale/en-nz.js +66 -0
- data/node_modules/moment/locale/eo.js +70 -0
- data/node_modules/moment/locale/es-do.js +91 -0
- data/node_modules/moment/locale/es-us.js +91 -0
- data/node_modules/moment/locale/es.js +91 -0
- data/node_modules/moment/locale/et.js +79 -0
- data/node_modules/moment/locale/eu.js +65 -0
- data/node_modules/moment/locale/fa.js +105 -0
- data/node_modules/moment/locale/fi.js +108 -0
- data/node_modules/moment/locale/fo.js +59 -0
- data/node_modules/moment/locale/fr-ca.js +73 -0
- data/node_modules/moment/locale/fr-ch.js +77 -0
- data/node_modules/moment/locale/fr.js +82 -0
- data/node_modules/moment/locale/fy.js +74 -0
- data/node_modules/moment/locale/ga.js +76 -0
- data/node_modules/moment/locale/gd.js +75 -0
- data/node_modules/moment/locale/gl.js +76 -0
- data/node_modules/moment/locale/gom-latn.js +122 -0
- data/node_modules/moment/locale/gu.js +123 -0
- data/node_modules/moment/locale/he.js +96 -0
- data/node_modules/moment/locale/hi.js +123 -0
- data/node_modules/moment/locale/hr.js +153 -0
- data/node_modules/moment/locale/hu.js +109 -0
- data/node_modules/moment/locale/hy-am.js +94 -0
- data/node_modules/moment/locale/id.js +81 -0
- data/node_modules/moment/locale/is.js +131 -0
- data/node_modules/moment/locale/it-ch.js +68 -0
- data/node_modules/moment/locale/it.js +68 -0
- data/node_modules/moment/locale/ja.js +91 -0
- data/node_modules/moment/locale/jv.js +81 -0
- data/node_modules/moment/locale/ka.js +88 -0
- data/node_modules/moment/locale/kk.js +86 -0
- data/node_modules/moment/locale/km.js +109 -0
- data/node_modules/moment/locale/kn.js +125 -0
- data/node_modules/moment/locale/ko.js +80 -0
- data/node_modules/moment/locale/ku.js +118 -0
- data/node_modules/moment/locale/ky.js +86 -0
- data/node_modules/moment/locale/lb.js +135 -0
- data/node_modules/moment/locale/lo.js +69 -0
- data/node_modules/moment/locale/lt.js +117 -0
- data/node_modules/moment/locale/lv.js +96 -0
- data/node_modules/moment/locale/me.js +111 -0
- data/node_modules/moment/locale/mi.js +63 -0
- data/node_modules/moment/locale/mk.js +89 -0
- data/node_modules/moment/locale/ml.js +80 -0
- data/node_modules/moment/locale/mn.js +103 -0
- data/node_modules/moment/locale/mr.js +159 -0
- data/node_modules/moment/locale/ms-my.js +81 -0
- data/node_modules/moment/locale/ms.js +81 -0
- data/node_modules/moment/locale/mt.js +59 -0
- data/node_modules/moment/locale/my.js +92 -0
- data/node_modules/moment/locale/nb.js +61 -0
- data/node_modules/moment/locale/ne.js +122 -0
- data/node_modules/moment/locale/nl-be.js +86 -0
- data/node_modules/moment/locale/nl.js +86 -0
- data/node_modules/moment/locale/nn.js +59 -0
- data/node_modules/moment/locale/pa-in.js +123 -0
- data/node_modules/moment/locale/pl.js +125 -0
- data/node_modules/moment/locale/pt-br.js +60 -0
- data/node_modules/moment/locale/pt.js +64 -0
- data/node_modules/moment/locale/ro.js +74 -0
- data/node_modules/moment/locale/ru.js +181 -0
- data/node_modules/moment/locale/sd.js +97 -0
- data/node_modules/moment/locale/se.js +59 -0
- data/node_modules/moment/locale/si.js +70 -0
- data/node_modules/moment/locale/sk.js +155 -0
- data/node_modules/moment/locale/sl.js +172 -0
- data/node_modules/moment/locale/sq.js +67 -0
- data/node_modules/moment/locale/sr-cyrl.js +110 -0
- data/node_modules/moment/locale/sr.js +110 -0
- data/node_modules/moment/locale/ss.js +87 -0
- data/node_modules/moment/locale/sv.js +68 -0
- data/node_modules/moment/locale/sw.js +58 -0
- data/node_modules/moment/locale/ta.js +128 -0
- data/node_modules/moment/locale/te.js +88 -0
- data/node_modules/moment/locale/tet.js +66 -0
- data/node_modules/moment/locale/tg.js +115 -0
- data/node_modules/moment/locale/th.js +66 -0
- data/node_modules/moment/locale/tl-ph.js +61 -0
- data/node_modules/moment/locale/tlh.js +121 -0
- data/node_modules/moment/locale/tr.js +93 -0
- data/node_modules/moment/locale/tzl.js +90 -0
- data/node_modules/moment/locale/tzm-latn.js +57 -0
- data/node_modules/moment/locale/tzm.js +57 -0
- data/node_modules/moment/locale/ug-cn.js +118 -0
- data/node_modules/moment/locale/uk.js +153 -0
- data/node_modules/moment/locale/ur.js +97 -0
- data/node_modules/moment/locale/uz-latn.js +57 -0
- data/node_modules/moment/locale/uz.js +57 -0
- data/node_modules/moment/locale/vi.js +78 -0
- data/node_modules/moment/locale/x-pseudo.js +67 -0
- data/node_modules/moment/locale/yo.js +59 -0
- data/node_modules/moment/locale/zh-cn.js +109 -0
- data/node_modules/moment/locale/zh-hk.js +102 -0
- data/node_modules/moment/locale/zh-tw.js +102 -0
- data/node_modules/moment/min/locales.js +10178 -0
- data/node_modules/moment/min/locales.min.js +1 -0
- data/node_modules/moment/min/moment-with-locales.js +14765 -0
- data/node_modules/moment/min/moment-with-locales.min.js +1 -0
- data/node_modules/moment/min/moment.min.js +1 -0
- data/node_modules/moment/moment.d.ts +736 -0
- data/node_modules/moment/moment.js +4602 -0
- data/node_modules/moment/package.js +11 -0
- data/node_modules/moment/package.json +99 -0
- data/node_modules/moment/src/lib/create/check-overflow.js +34 -0
- data/node_modules/moment/src/lib/create/date-from-array.js +35 -0
- data/node_modules/moment/src/lib/create/from-anything.js +110 -0
- data/node_modules/moment/src/lib/create/from-array.js +147 -0
- data/node_modules/moment/src/lib/create/from-object.js +16 -0
- data/node_modules/moment/src/lib/create/from-string-and-array.js +50 -0
- data/node_modules/moment/src/lib/create/from-string-and-format.js +113 -0
- data/node_modules/moment/src/lib/create/from-string.js +230 -0
- data/node_modules/moment/src/lib/create/local.js +5 -0
- data/node_modules/moment/src/lib/create/parsing-flags.js +26 -0
- data/node_modules/moment/src/lib/create/utc.js +5 -0
- data/node_modules/moment/src/lib/create/valid.js +50 -0
- data/node_modules/moment/src/lib/duration/abs.js +18 -0
- data/node_modules/moment/src/lib/duration/add-subtract.js +21 -0
- data/node_modules/moment/src/lib/duration/as.js +66 -0
- data/node_modules/moment/src/lib/duration/bubble.js +61 -0
- data/node_modules/moment/src/lib/duration/clone.js +6 -0
- data/node_modules/moment/src/lib/duration/constructor.js +44 -0
- data/node_modules/moment/src/lib/duration/create.js +122 -0
- data/node_modules/moment/src/lib/duration/duration.js +16 -0
- data/node_modules/moment/src/lib/duration/get.js +25 -0
- data/node_modules/moment/src/lib/duration/humanize.js +85 -0
- data/node_modules/moment/src/lib/duration/iso-string.js +64 -0
- data/node_modules/moment/src/lib/duration/prototype.js +53 -0
- data/node_modules/moment/src/lib/duration/valid.js +36 -0
- data/node_modules/moment/src/lib/format/format.js +92 -0
- data/node_modules/moment/src/lib/locale/base-config.js +44 -0
- data/node_modules/moment/src/lib/locale/calendar.js +15 -0
- data/node_modules/moment/src/lib/locale/constructor.js +5 -0
- data/node_modules/moment/src/lib/locale/en.js +15 -0
- data/node_modules/moment/src/lib/locale/formats.js +23 -0
- data/node_modules/moment/src/lib/locale/invalid.js +5 -0
- data/node_modules/moment/src/lib/locale/lists.js +93 -0
- data/node_modules/moment/src/lib/locale/locale.js +39 -0
- data/node_modules/moment/src/lib/locale/locales.js +197 -0
- data/node_modules/moment/src/lib/locale/ordinal.js +7 -0
- data/node_modules/moment/src/lib/locale/pre-post-format.js +3 -0
- data/node_modules/moment/src/lib/locale/prototype.js +69 -0
- data/node_modules/moment/src/lib/locale/relative.js +30 -0
- data/node_modules/moment/src/lib/locale/set.js +49 -0
- data/node_modules/moment/src/lib/moment/add-subtract.js +55 -0
- data/node_modules/moment/src/lib/moment/calendar.js +26 -0
- data/node_modules/moment/src/lib/moment/clone.js +5 -0
- data/node_modules/moment/src/lib/moment/compare.js +63 -0
- data/node_modules/moment/src/lib/moment/constructor.js +77 -0
- data/node_modules/moment/src/lib/moment/creation-data.js +9 -0
- data/node_modules/moment/src/lib/moment/diff.js +58 -0
- data/node_modules/moment/src/lib/moment/format.js +62 -0
- data/node_modules/moment/src/lib/moment/from.js +17 -0
- data/node_modules/moment/src/lib/moment/get-set.js +61 -0
- data/node_modules/moment/src/lib/moment/locale.js +34 -0
- data/node_modules/moment/src/lib/moment/min-max.js +63 -0
- data/node_modules/moment/src/lib/moment/moment.js +28 -0
- data/node_modules/moment/src/lib/moment/now.js +3 -0
- data/node_modules/moment/src/lib/moment/prototype.js +150 -0
- data/node_modules/moment/src/lib/moment/start-end-of.js +128 -0
- data/node_modules/moment/src/lib/moment/to-type.js +34 -0
- data/node_modules/moment/src/lib/moment/to.js +17 -0
- data/node_modules/moment/src/lib/moment/valid.js +15 -0
- data/node_modules/moment/src/lib/parse/regex.js +54 -0
- data/node_modules/moment/src/lib/parse/token.js +33 -0
- data/node_modules/moment/src/lib/units/aliases.js +30 -0
- data/node_modules/moment/src/lib/units/constants.js +9 -0
- data/node_modules/moment/src/lib/units/day-of-month.js +39 -0
- data/node_modules/moment/src/lib/units/day-of-week.js +367 -0
- data/node_modules/moment/src/lib/units/day-of-year.js +36 -0
- data/node_modules/moment/src/lib/units/hour.js +144 -0
- data/node_modules/moment/src/lib/units/millisecond.js +69 -0
- data/node_modules/moment/src/lib/units/minute.js +29 -0
- data/node_modules/moment/src/lib/units/month.js +290 -0
- data/node_modules/moment/src/lib/units/offset.js +235 -0
- data/node_modules/moment/src/lib/units/priorities.js +16 -0
- data/node_modules/moment/src/lib/units/quarter.js +32 -0
- data/node_modules/moment/src/lib/units/second.js +29 -0
- data/node_modules/moment/src/lib/units/timestamp.js +20 -0
- data/node_modules/moment/src/lib/units/timezone.js +16 -0
- data/node_modules/moment/src/lib/units/units.js +20 -0
- data/node_modules/moment/src/lib/units/week-calendar-utils.js +65 -0
- data/node_modules/moment/src/lib/units/week-year.js +107 -0
- data/node_modules/moment/src/lib/units/week.js +67 -0
- data/node_modules/moment/src/lib/units/year.js +75 -0
- data/node_modules/moment/src/lib/utils/abs-ceil.js +7 -0
- data/node_modules/moment/src/lib/utils/abs-floor.js +8 -0
- data/node_modules/moment/src/lib/utils/abs-round.js +7 -0
- data/node_modules/moment/src/lib/utils/compare-arrays.js +16 -0
- data/node_modules/moment/src/lib/utils/defaults.js +10 -0
- data/node_modules/moment/src/lib/utils/deprecate.js +55 -0
- data/node_modules/moment/src/lib/utils/extend.js +19 -0
- data/node_modules/moment/src/lib/utils/has-own-prop.js +3 -0
- data/node_modules/moment/src/lib/utils/hooks.js +13 -0
- data/node_modules/moment/src/lib/utils/index-of.js +18 -0
- data/node_modules/moment/src/lib/utils/is-array.js +3 -0
- data/node_modules/moment/src/lib/utils/is-date.js +3 -0
- data/node_modules/moment/src/lib/utils/is-function.js +3 -0
- data/node_modules/moment/src/lib/utils/is-number.js +3 -0
- data/node_modules/moment/src/lib/utils/is-object-empty.js +13 -0
- data/node_modules/moment/src/lib/utils/is-object.js +5 -0
- data/node_modules/moment/src/lib/utils/is-undefined.js +3 -0
- data/node_modules/moment/src/lib/utils/keys.js +19 -0
- data/node_modules/moment/src/lib/utils/map.js +7 -0
- data/node_modules/moment/src/lib/utils/mod.js +3 -0
- data/node_modules/moment/src/lib/utils/some.js +19 -0
- data/node_modules/moment/src/lib/utils/to-int.js +12 -0
- data/node_modules/moment/src/lib/utils/zero-fill.js +7 -0
- data/node_modules/moment/src/locale/af.js +64 -0
- data/node_modules/moment/src/locale/ar-dz.js +51 -0
- data/node_modules/moment/src/locale/ar-kw.js +50 -0
- data/node_modules/moment/src/locale/ar-ly.js +113 -0
- data/node_modules/moment/src/locale/ar-ma.js +52 -0
- data/node_modules/moment/src/locale/ar-sa.js +96 -0
- data/node_modules/moment/src/locale/ar-tn.js +51 -0
- data/node_modules/moment/src/locale/ar.js +128 -0
- data/node_modules/moment/src/locale/az.js +97 -0
- data/node_modules/moment/src/locale/be.js +126 -0
- data/node_modules/moment/src/locale/bg.js +82 -0
- data/node_modules/moment/src/locale/bm.js +50 -0
- data/node_modules/moment/src/locale/bn.js +110 -0
- data/node_modules/moment/src/locale/bo.js +111 -0
- data/node_modules/moment/src/locale/br.js +100 -0
- data/node_modules/moment/src/locale/bs.js +143 -0
- data/node_modules/moment/src/locale/ca.js +80 -0
- data/node_modules/moment/src/locale/cs.js +164 -0
- data/node_modules/moment/src/locale/cv.js +54 -0
- data/node_modules/moment/src/locale/cy.js +73 -0
- data/node_modules/moment/src/locale/da.js +51 -0
- data/node_modules/moment/src/locale/de-at.js +70 -0
- data/node_modules/moment/src/locale/de-ch.js +69 -0
- data/node_modules/moment/src/locale/de.js +69 -0
- data/node_modules/moment/src/locale/dv.js +90 -0
- data/node_modules/moment/src/locale/el.js +89 -0
- data/node_modules/moment/src/locale/en-SG.js +59 -0
- data/node_modules/moment/src/locale/en-au.js +58 -0
- data/node_modules/moment/src/locale/en-ca.js +54 -0
- data/node_modules/moment/src/locale/en-gb.js +59 -0
- data/node_modules/moment/src/locale/en-ie.js +59 -0
- data/node_modules/moment/src/locale/en-il.js +54 -0
- data/node_modules/moment/src/locale/en-nz.js +58 -0
- data/node_modules/moment/src/locale/eo.js +65 -0
- data/node_modules/moment/src/locale/es-do.js +83 -0
- data/node_modules/moment/src/locale/es-us.js +84 -0
- data/node_modules/moment/src/locale/es.js +83 -0
- data/node_modules/moment/src/locale/et.js +73 -0
- data/node_modules/moment/src/locale/eu.js +58 -0
- data/node_modules/moment/src/locale/fa.js +98 -0
- data/node_modules/moment/src/locale/fi.js +101 -0
- data/node_modules/moment/src/locale/fo.js +53 -0
- data/node_modules/moment/src/locale/fr-ca.js +66 -0
- data/node_modules/moment/src/locale/fr-ch.js +70 -0
- data/node_modules/moment/src/locale/fr.js +75 -0
- data/node_modules/moment/src/locale/fy.js +67 -0
- data/node_modules/moment/src/locale/ga.js +68 -0
- data/node_modules/moment/src/locale/gd.js +68 -0
- data/node_modules/moment/src/locale/gl.js +69 -0
- data/node_modules/moment/src/locale/gom-latn.js +114 -0
- data/node_modules/moment/src/locale/gu.js +115 -0
- data/node_modules/moment/src/locale/he.js +91 -0
- data/node_modules/moment/src/locale/hi.js +116 -0
- data/node_modules/moment/src/locale/hr.js +145 -0
- data/node_modules/moment/src/locale/hu.js +103 -0
- data/node_modules/moment/src/locale/hy-am.js +87 -0
- data/node_modules/moment/src/locale/id.js +74 -0
- data/node_modules/moment/src/locale/is.js +124 -0
- data/node_modules/moment/src/locale/it-ch.js +61 -0
- data/node_modules/moment/src/locale/it.js +62 -0
- data/node_modules/moment/src/locale/ja.js +84 -0
- data/node_modules/moment/src/locale/jv.js +74 -0
- data/node_modules/moment/src/locale/ka.js +81 -0
- data/node_modules/moment/src/locale/kk.js +78 -0
- data/node_modules/moment/src/locale/km.js +101 -0
- data/node_modules/moment/src/locale/kn.js +117 -0
- data/node_modules/moment/src/locale/ko.js +74 -0
- data/node_modules/moment/src/locale/ku.js +110 -0
- data/node_modules/moment/src/locale/ky.js +79 -0
- data/node_modules/moment/src/locale/lb.js +129 -0
- data/node_modules/moment/src/locale/lo.js +62 -0
- data/node_modules/moment/src/locale/lt.js +110 -0
- data/node_modules/moment/src/locale/lv.js +90 -0
- data/node_modules/moment/src/locale/me.js +103 -0
- data/node_modules/moment/src/locale/mi.js +55 -0
- data/node_modules/moment/src/locale/mk.js +82 -0
- data/node_modules/moment/src/locale/ml.js +73 -0
- data/node_modules/moment/src/locale/mn.js +96 -0
- data/node_modules/moment/src/locale/mr.js +153 -0
- data/node_modules/moment/src/locale/ms-my.js +75 -0
- data/node_modules/moment/src/locale/ms.js +74 -0
- data/node_modules/moment/src/locale/mt.js +51 -0
- data/node_modules/moment/src/locale/my.js +87 -0
- data/node_modules/moment/src/locale/nb.js +55 -0
- data/node_modules/moment/src/locale/ne.js +115 -0
- data/node_modules/moment/src/locale/nl-be.js +80 -0
- data/node_modules/moment/src/locale/nl.js +80 -0
- data/node_modules/moment/src/locale/nn.js +52 -0
- data/node_modules/moment/src/locale/pa-in.js +116 -0
- data/node_modules/moment/src/locale/pl.js +117 -0
- data/node_modules/moment/src/locale/pt-br.js +53 -0
- data/node_modules/moment/src/locale/pt.js +57 -0
- data/node_modules/moment/src/locale/ro.js +68 -0
- data/node_modules/moment/src/locale/ru.js +175 -0
- data/node_modules/moment/src/locale/sd.js +89 -0
- data/node_modules/moment/src/locale/se.js +52 -0
- data/node_modules/moment/src/locale/si.js +62 -0
- data/node_modules/moment/src/locale/sk.js +149 -0
- data/node_modules/moment/src/locale/sl.js +164 -0
- data/node_modules/moment/src/locale/sq.js +62 -0
- data/node_modules/moment/src/locale/sr-cyrl.js +102 -0
- data/node_modules/moment/src/locale/sr.js +102 -0
- data/node_modules/moment/src/locale/ss.js +81 -0
- data/node_modules/moment/src/locale/sv.js +61 -0
- data/node_modules/moment/src/locale/sw.js +51 -0
- data/node_modules/moment/src/locale/ta.js +121 -0
- data/node_modules/moment/src/locale/te.js +80 -0
- data/node_modules/moment/src/locale/tet.js +60 -0
- data/node_modules/moment/src/locale/tg.js +107 -0
- data/node_modules/moment/src/locale/th.js +58 -0
- data/node_modules/moment/src/locale/tl-ph.js +54 -0
- data/node_modules/moment/src/locale/tlh.js +113 -0
- data/node_modules/moment/src/locale/tr.js +90 -0
- data/node_modules/moment/src/locale/tzl.js +84 -0
- data/node_modules/moment/src/locale/tzm-latn.js +50 -0
- data/node_modules/moment/src/locale/tzm.js +50 -0
- data/node_modules/moment/src/locale/ug-cn.js +110 -0
- data/node_modules/moment/src/locale/uk.js +146 -0
- data/node_modules/moment/src/locale/ur.js +90 -0
- data/node_modules/moment/src/locale/uz-latn.js +50 -0
- data/node_modules/moment/src/locale/uz.js +50 -0
- data/node_modules/moment/src/locale/vi.js +71 -0
- data/node_modules/moment/src/locale/x-pseudo.js +59 -0
- data/node_modules/moment/src/locale/yo.js +51 -0
- data/node_modules/moment/src/locale/zh-cn.js +102 -0
- data/node_modules/moment/src/locale/zh-hk.js +96 -0
- data/node_modules/moment/src/locale/zh-tw.js +95 -0
- data/node_modules/moment/src/moment.js +95 -0
- data/package.json +2 -0
- data/public/packs/js/application-0619dab0850a6efc7438.js +38148 -0
- data/public/packs/js/application-0619dab0850a6efc7438.js.map +1 -0
- data/public/packs/js/application-20352c48a8043c0951ac.js +38148 -0
- data/public/packs/js/application-20352c48a8043c0951ac.js.map +1 -0
- data/public/packs/js/application-c5495aaaa9c6e6b908e8.js +38148 -0
- data/public/packs/js/application-c5495aaaa9c6e6b908e8.js.map +1 -0
- data/public/packs/manifest.json +4 -4
- data/random.rb +1 -0
- data/test/controllers/address_searches_controller_test.rb +48 -0
- data/test/controllers/banal/documents_controller_test.rb +48 -0
- data/test/controllers/banal/employees_controller_test.rb +48 -0
- data/test/controllers/banal/links_controller_test.rb +48 -0
- data/test/controllers/banal/metadata_controller_test.rb +48 -0
- data/test/controllers/banal/projects_controller_test.rb +2 -2
- data/test/controllers/banal/related_objects_controller_test.rb +48 -0
- data/test/controllers/banal_complexes_controller_test.rb +48 -0
- data/test/controllers/comments_controller_test.rb +48 -0
- data/test/controllers/employees_controller_test.rb +48 -0
- data/test/fixtures/address_searches.yml +9 -0
- data/test/fixtures/banal/documents.yml +11 -0
- data/test/fixtures/banal/employees.yml +29 -0
- data/test/fixtures/banal/links.yml +11 -0
- data/test/fixtures/banal/metadata.yml +11 -0
- data/test/fixtures/banal/projects.yml +16 -0
- data/test/fixtures/banal/related_objects.yml +9 -0
- data/test/fixtures/banal_complexes.yml +9 -0
- data/test/fixtures/comments.yml +11 -0
- data/test/fixtures/employees.yml +29 -0
- data/test/models/address_search_test.rb +7 -0
- data/test/models/banal/document_test.rb +7 -0
- data/test/models/banal/employee_test.rb +7 -0
- data/test/models/banal/link_test.rb +7 -0
- data/test/models/banal/metadatum_test.rb +7 -0
- data/test/models/banal/related_object_test.rb +7 -0
- data/test/models/banal_complex_test.rb +7 -0
- data/test/models/comment_test.rb +7 -0
- data/test/models/employee_test.rb +7 -0
- data/test/system/address_searches_test.rb +45 -0
- data/test/system/banal/documents_test.rb +47 -0
- data/test/system/banal/employees_test.rb +65 -0
- data/test/system/banal/links_test.rb +47 -0
- data/test/system/banal/metadata_test.rb +47 -0
- data/test/system/banal/projects_test.rb +16 -0
- data/test/system/banal/related_objects_test.rb +45 -0
- data/test/system/banal_complexes_test.rb +45 -0
- data/test/system/comments_test.rb +47 -0
- data/test/system/employees_test.rb +65 -0
- data/yarn.lock +38 -0
- metadata +587 -8
- data/db/migrate/20190912173649_create_banal_projects.rb +0 -9
@@ -0,0 +1,230 @@
|
|
1
|
+
import { configFromStringAndFormat } from './from-string-and-format';
|
2
|
+
import { createUTCDate } from './date-from-array';
|
3
|
+
import { configFromArray } from './from-array';
|
4
|
+
import { hooks } from '../utils/hooks';
|
5
|
+
import { deprecate } from '../utils/deprecate';
|
6
|
+
import getParsingFlags from './parsing-flags';
|
7
|
+
import {defaultLocaleMonthsShort} from '../units/month';
|
8
|
+
import {defaultLocaleWeekdaysShort} from '../units/day-of-week';
|
9
|
+
|
10
|
+
// iso 8601 regex
|
11
|
+
// 0000-00-00 0000-W00 or 0000-W00-0 + T + 00 or 00:00 or 00:00:00 or 00:00:00.000 + +00:00 or +0000 or +00)
|
12
|
+
var extendedIsoRegex = /^\s*((?:[+-]\d{6}|\d{4})-(?:\d\d-\d\d|W\d\d-\d|W\d\d|\d\d\d|\d\d))(?:(T| )(\d\d(?::\d\d(?::\d\d(?:[.,]\d+)?)?)?)([\+\-]\d\d(?::?\d\d)?|\s*Z)?)?$/;
|
13
|
+
var basicIsoRegex = /^\s*((?:[+-]\d{6}|\d{4})(?:\d\d\d\d|W\d\d\d|W\d\d|\d\d\d|\d\d))(?:(T| )(\d\d(?:\d\d(?:\d\d(?:[.,]\d+)?)?)?)([\+\-]\d\d(?::?\d\d)?|\s*Z)?)?$/;
|
14
|
+
|
15
|
+
var tzRegex = /Z|[+-]\d\d(?::?\d\d)?/;
|
16
|
+
|
17
|
+
var isoDates = [
|
18
|
+
['YYYYYY-MM-DD', /[+-]\d{6}-\d\d-\d\d/],
|
19
|
+
['YYYY-MM-DD', /\d{4}-\d\d-\d\d/],
|
20
|
+
['GGGG-[W]WW-E', /\d{4}-W\d\d-\d/],
|
21
|
+
['GGGG-[W]WW', /\d{4}-W\d\d/, false],
|
22
|
+
['YYYY-DDD', /\d{4}-\d{3}/],
|
23
|
+
['YYYY-MM', /\d{4}-\d\d/, false],
|
24
|
+
['YYYYYYMMDD', /[+-]\d{10}/],
|
25
|
+
['YYYYMMDD', /\d{8}/],
|
26
|
+
// YYYYMM is NOT allowed by the standard
|
27
|
+
['GGGG[W]WWE', /\d{4}W\d{3}/],
|
28
|
+
['GGGG[W]WW', /\d{4}W\d{2}/, false],
|
29
|
+
['YYYYDDD', /\d{7}/]
|
30
|
+
];
|
31
|
+
|
32
|
+
// iso time formats and regexes
|
33
|
+
var isoTimes = [
|
34
|
+
['HH:mm:ss.SSSS', /\d\d:\d\d:\d\d\.\d+/],
|
35
|
+
['HH:mm:ss,SSSS', /\d\d:\d\d:\d\d,\d+/],
|
36
|
+
['HH:mm:ss', /\d\d:\d\d:\d\d/],
|
37
|
+
['HH:mm', /\d\d:\d\d/],
|
38
|
+
['HHmmss.SSSS', /\d\d\d\d\d\d\.\d+/],
|
39
|
+
['HHmmss,SSSS', /\d\d\d\d\d\d,\d+/],
|
40
|
+
['HHmmss', /\d\d\d\d\d\d/],
|
41
|
+
['HHmm', /\d\d\d\d/],
|
42
|
+
['HH', /\d\d/]
|
43
|
+
];
|
44
|
+
|
45
|
+
var aspNetJsonRegex = /^\/?Date\((\-?\d+)/i;
|
46
|
+
|
47
|
+
// date from iso format
|
48
|
+
export function configFromISO(config) {
|
49
|
+
var i, l,
|
50
|
+
string = config._i,
|
51
|
+
match = extendedIsoRegex.exec(string) || basicIsoRegex.exec(string),
|
52
|
+
allowTime, dateFormat, timeFormat, tzFormat;
|
53
|
+
|
54
|
+
if (match) {
|
55
|
+
getParsingFlags(config).iso = true;
|
56
|
+
|
57
|
+
for (i = 0, l = isoDates.length; i < l; i++) {
|
58
|
+
if (isoDates[i][1].exec(match[1])) {
|
59
|
+
dateFormat = isoDates[i][0];
|
60
|
+
allowTime = isoDates[i][2] !== false;
|
61
|
+
break;
|
62
|
+
}
|
63
|
+
}
|
64
|
+
if (dateFormat == null) {
|
65
|
+
config._isValid = false;
|
66
|
+
return;
|
67
|
+
}
|
68
|
+
if (match[3]) {
|
69
|
+
for (i = 0, l = isoTimes.length; i < l; i++) {
|
70
|
+
if (isoTimes[i][1].exec(match[3])) {
|
71
|
+
// match[2] should be 'T' or space
|
72
|
+
timeFormat = (match[2] || ' ') + isoTimes[i][0];
|
73
|
+
break;
|
74
|
+
}
|
75
|
+
}
|
76
|
+
if (timeFormat == null) {
|
77
|
+
config._isValid = false;
|
78
|
+
return;
|
79
|
+
}
|
80
|
+
}
|
81
|
+
if (!allowTime && timeFormat != null) {
|
82
|
+
config._isValid = false;
|
83
|
+
return;
|
84
|
+
}
|
85
|
+
if (match[4]) {
|
86
|
+
if (tzRegex.exec(match[4])) {
|
87
|
+
tzFormat = 'Z';
|
88
|
+
} else {
|
89
|
+
config._isValid = false;
|
90
|
+
return;
|
91
|
+
}
|
92
|
+
}
|
93
|
+
config._f = dateFormat + (timeFormat || '') + (tzFormat || '');
|
94
|
+
configFromStringAndFormat(config);
|
95
|
+
} else {
|
96
|
+
config._isValid = false;
|
97
|
+
}
|
98
|
+
}
|
99
|
+
|
100
|
+
// RFC 2822 regex: For details see https://tools.ietf.org/html/rfc2822#section-3.3
|
101
|
+
var rfc2822 = /^(?:(Mon|Tue|Wed|Thu|Fri|Sat|Sun),?\s)?(\d{1,2})\s(Jan|Feb|Mar|Apr|May|Jun|Jul|Aug|Sep|Oct|Nov|Dec)\s(\d{2,4})\s(\d\d):(\d\d)(?::(\d\d))?\s(?:(UT|GMT|[ECMP][SD]T)|([Zz])|([+-]\d{4}))$/;
|
102
|
+
|
103
|
+
function extractFromRFC2822Strings(yearStr, monthStr, dayStr, hourStr, minuteStr, secondStr) {
|
104
|
+
var result = [
|
105
|
+
untruncateYear(yearStr),
|
106
|
+
defaultLocaleMonthsShort.indexOf(monthStr),
|
107
|
+
parseInt(dayStr, 10),
|
108
|
+
parseInt(hourStr, 10),
|
109
|
+
parseInt(minuteStr, 10)
|
110
|
+
];
|
111
|
+
|
112
|
+
if (secondStr) {
|
113
|
+
result.push(parseInt(secondStr, 10));
|
114
|
+
}
|
115
|
+
|
116
|
+
return result;
|
117
|
+
}
|
118
|
+
|
119
|
+
function untruncateYear(yearStr) {
|
120
|
+
var year = parseInt(yearStr, 10);
|
121
|
+
if (year <= 49) {
|
122
|
+
return 2000 + year;
|
123
|
+
} else if (year <= 999) {
|
124
|
+
return 1900 + year;
|
125
|
+
}
|
126
|
+
return year;
|
127
|
+
}
|
128
|
+
|
129
|
+
function preprocessRFC2822(s) {
|
130
|
+
// Remove comments and folding whitespace and replace multiple-spaces with a single space
|
131
|
+
return s.replace(/\([^)]*\)|[\n\t]/g, ' ').replace(/(\s\s+)/g, ' ').replace(/^\s\s*/, '').replace(/\s\s*$/, '');
|
132
|
+
}
|
133
|
+
|
134
|
+
function checkWeekday(weekdayStr, parsedInput, config) {
|
135
|
+
if (weekdayStr) {
|
136
|
+
// TODO: Replace the vanilla JS Date object with an indepentent day-of-week check.
|
137
|
+
var weekdayProvided = defaultLocaleWeekdaysShort.indexOf(weekdayStr),
|
138
|
+
weekdayActual = new Date(parsedInput[0], parsedInput[1], parsedInput[2]).getDay();
|
139
|
+
if (weekdayProvided !== weekdayActual) {
|
140
|
+
getParsingFlags(config).weekdayMismatch = true;
|
141
|
+
config._isValid = false;
|
142
|
+
return false;
|
143
|
+
}
|
144
|
+
}
|
145
|
+
return true;
|
146
|
+
}
|
147
|
+
|
148
|
+
var obsOffsets = {
|
149
|
+
UT: 0,
|
150
|
+
GMT: 0,
|
151
|
+
EDT: -4 * 60,
|
152
|
+
EST: -5 * 60,
|
153
|
+
CDT: -5 * 60,
|
154
|
+
CST: -6 * 60,
|
155
|
+
MDT: -6 * 60,
|
156
|
+
MST: -7 * 60,
|
157
|
+
PDT: -7 * 60,
|
158
|
+
PST: -8 * 60
|
159
|
+
};
|
160
|
+
|
161
|
+
function calculateOffset(obsOffset, militaryOffset, numOffset) {
|
162
|
+
if (obsOffset) {
|
163
|
+
return obsOffsets[obsOffset];
|
164
|
+
} else if (militaryOffset) {
|
165
|
+
// the only allowed military tz is Z
|
166
|
+
return 0;
|
167
|
+
} else {
|
168
|
+
var hm = parseInt(numOffset, 10);
|
169
|
+
var m = hm % 100, h = (hm - m) / 100;
|
170
|
+
return h * 60 + m;
|
171
|
+
}
|
172
|
+
}
|
173
|
+
|
174
|
+
// date and time from ref 2822 format
|
175
|
+
export function configFromRFC2822(config) {
|
176
|
+
var match = rfc2822.exec(preprocessRFC2822(config._i));
|
177
|
+
if (match) {
|
178
|
+
var parsedArray = extractFromRFC2822Strings(match[4], match[3], match[2], match[5], match[6], match[7]);
|
179
|
+
if (!checkWeekday(match[1], parsedArray, config)) {
|
180
|
+
return;
|
181
|
+
}
|
182
|
+
|
183
|
+
config._a = parsedArray;
|
184
|
+
config._tzm = calculateOffset(match[8], match[9], match[10]);
|
185
|
+
|
186
|
+
config._d = createUTCDate.apply(null, config._a);
|
187
|
+
config._d.setUTCMinutes(config._d.getUTCMinutes() - config._tzm);
|
188
|
+
|
189
|
+
getParsingFlags(config).rfc2822 = true;
|
190
|
+
} else {
|
191
|
+
config._isValid = false;
|
192
|
+
}
|
193
|
+
}
|
194
|
+
|
195
|
+
// date from iso format or fallback
|
196
|
+
export function configFromString(config) {
|
197
|
+
var matched = aspNetJsonRegex.exec(config._i);
|
198
|
+
|
199
|
+
if (matched !== null) {
|
200
|
+
config._d = new Date(+matched[1]);
|
201
|
+
return;
|
202
|
+
}
|
203
|
+
|
204
|
+
configFromISO(config);
|
205
|
+
if (config._isValid === false) {
|
206
|
+
delete config._isValid;
|
207
|
+
} else {
|
208
|
+
return;
|
209
|
+
}
|
210
|
+
|
211
|
+
configFromRFC2822(config);
|
212
|
+
if (config._isValid === false) {
|
213
|
+
delete config._isValid;
|
214
|
+
} else {
|
215
|
+
return;
|
216
|
+
}
|
217
|
+
|
218
|
+
// Final attempt, use Input Fallback
|
219
|
+
hooks.createFromInputFallback(config);
|
220
|
+
}
|
221
|
+
|
222
|
+
hooks.createFromInputFallback = deprecate(
|
223
|
+
'value provided is not in a recognized RFC2822 or ISO format. moment construction falls back to js Date(), ' +
|
224
|
+
'which is not reliable across all browsers and versions. Non RFC2822/ISO date formats are ' +
|
225
|
+
'discouraged and will be removed in an upcoming major release. Please refer to ' +
|
226
|
+
'http://momentjs.com/guides/#/warnings/js-date/ for more info.',
|
227
|
+
function (config) {
|
228
|
+
config._d = new Date(config._i + (config._useUTC ? ' UTC' : ''));
|
229
|
+
}
|
230
|
+
);
|
@@ -0,0 +1,26 @@
|
|
1
|
+
function defaultParsingFlags() {
|
2
|
+
// We need to deep clone this object.
|
3
|
+
return {
|
4
|
+
empty : false,
|
5
|
+
unusedTokens : [],
|
6
|
+
unusedInput : [],
|
7
|
+
overflow : -2,
|
8
|
+
charsLeftOver : 0,
|
9
|
+
nullInput : false,
|
10
|
+
invalidMonth : null,
|
11
|
+
invalidFormat : false,
|
12
|
+
userInvalidated : false,
|
13
|
+
iso : false,
|
14
|
+
parsedDateParts : [],
|
15
|
+
meridiem : null,
|
16
|
+
rfc2822 : false,
|
17
|
+
weekdayMismatch : false
|
18
|
+
};
|
19
|
+
}
|
20
|
+
|
21
|
+
export default function getParsingFlags(m) {
|
22
|
+
if (m._pf == null) {
|
23
|
+
m._pf = defaultParsingFlags();
|
24
|
+
}
|
25
|
+
return m._pf;
|
26
|
+
}
|
@@ -0,0 +1,50 @@
|
|
1
|
+
import extend from '../utils/extend';
|
2
|
+
import { createUTC } from './utc';
|
3
|
+
import getParsingFlags from '../create/parsing-flags';
|
4
|
+
import some from '../utils/some';
|
5
|
+
|
6
|
+
export function isValid(m) {
|
7
|
+
if (m._isValid == null) {
|
8
|
+
var flags = getParsingFlags(m);
|
9
|
+
var parsedParts = some.call(flags.parsedDateParts, function (i) {
|
10
|
+
return i != null;
|
11
|
+
});
|
12
|
+
var isNowValid = !isNaN(m._d.getTime()) &&
|
13
|
+
flags.overflow < 0 &&
|
14
|
+
!flags.empty &&
|
15
|
+
!flags.invalidMonth &&
|
16
|
+
!flags.invalidWeekday &&
|
17
|
+
!flags.weekdayMismatch &&
|
18
|
+
!flags.nullInput &&
|
19
|
+
!flags.invalidFormat &&
|
20
|
+
!flags.userInvalidated &&
|
21
|
+
(!flags.meridiem || (flags.meridiem && parsedParts));
|
22
|
+
|
23
|
+
if (m._strict) {
|
24
|
+
isNowValid = isNowValid &&
|
25
|
+
flags.charsLeftOver === 0 &&
|
26
|
+
flags.unusedTokens.length === 0 &&
|
27
|
+
flags.bigHour === undefined;
|
28
|
+
}
|
29
|
+
|
30
|
+
if (Object.isFrozen == null || !Object.isFrozen(m)) {
|
31
|
+
m._isValid = isNowValid;
|
32
|
+
}
|
33
|
+
else {
|
34
|
+
return isNowValid;
|
35
|
+
}
|
36
|
+
}
|
37
|
+
return m._isValid;
|
38
|
+
}
|
39
|
+
|
40
|
+
export function createInvalid (flags) {
|
41
|
+
var m = createUTC(NaN);
|
42
|
+
if (flags != null) {
|
43
|
+
extend(getParsingFlags(m), flags);
|
44
|
+
}
|
45
|
+
else {
|
46
|
+
getParsingFlags(m).userInvalidated = true;
|
47
|
+
}
|
48
|
+
|
49
|
+
return m;
|
50
|
+
}
|
@@ -0,0 +1,18 @@
|
|
1
|
+
var mathAbs = Math.abs;
|
2
|
+
|
3
|
+
export function abs () {
|
4
|
+
var data = this._data;
|
5
|
+
|
6
|
+
this._milliseconds = mathAbs(this._milliseconds);
|
7
|
+
this._days = mathAbs(this._days);
|
8
|
+
this._months = mathAbs(this._months);
|
9
|
+
|
10
|
+
data.milliseconds = mathAbs(data.milliseconds);
|
11
|
+
data.seconds = mathAbs(data.seconds);
|
12
|
+
data.minutes = mathAbs(data.minutes);
|
13
|
+
data.hours = mathAbs(data.hours);
|
14
|
+
data.months = mathAbs(data.months);
|
15
|
+
data.years = mathAbs(data.years);
|
16
|
+
|
17
|
+
return this;
|
18
|
+
}
|
@@ -0,0 +1,21 @@
|
|
1
|
+
import { createDuration } from './create';
|
2
|
+
|
3
|
+
function addSubtract (duration, input, value, direction) {
|
4
|
+
var other = createDuration(input, value);
|
5
|
+
|
6
|
+
duration._milliseconds += direction * other._milliseconds;
|
7
|
+
duration._days += direction * other._days;
|
8
|
+
duration._months += direction * other._months;
|
9
|
+
|
10
|
+
return duration._bubble();
|
11
|
+
}
|
12
|
+
|
13
|
+
// supports only 2.0-style add(1, 's') or add(duration)
|
14
|
+
export function add (input, value) {
|
15
|
+
return addSubtract(this, input, value, 1);
|
16
|
+
}
|
17
|
+
|
18
|
+
// supports only 2.0-style subtract(1, 's') or subtract(duration)
|
19
|
+
export function subtract (input, value) {
|
20
|
+
return addSubtract(this, input, value, -1);
|
21
|
+
}
|
@@ -0,0 +1,66 @@
|
|
1
|
+
import { daysToMonths, monthsToDays } from './bubble';
|
2
|
+
import { normalizeUnits } from '../units/aliases';
|
3
|
+
import toInt from '../utils/to-int';
|
4
|
+
|
5
|
+
export function as (units) {
|
6
|
+
if (!this.isValid()) {
|
7
|
+
return NaN;
|
8
|
+
}
|
9
|
+
var days;
|
10
|
+
var months;
|
11
|
+
var milliseconds = this._milliseconds;
|
12
|
+
|
13
|
+
units = normalizeUnits(units);
|
14
|
+
|
15
|
+
if (units === 'month' || units === 'quarter' || units === 'year') {
|
16
|
+
days = this._days + milliseconds / 864e5;
|
17
|
+
months = this._months + daysToMonths(days);
|
18
|
+
switch (units) {
|
19
|
+
case 'month': return months;
|
20
|
+
case 'quarter': return months / 3;
|
21
|
+
case 'year': return months / 12;
|
22
|
+
}
|
23
|
+
} else {
|
24
|
+
// handle milliseconds separately because of floating point math errors (issue #1867)
|
25
|
+
days = this._days + Math.round(monthsToDays(this._months));
|
26
|
+
switch (units) {
|
27
|
+
case 'week' : return days / 7 + milliseconds / 6048e5;
|
28
|
+
case 'day' : return days + milliseconds / 864e5;
|
29
|
+
case 'hour' : return days * 24 + milliseconds / 36e5;
|
30
|
+
case 'minute' : return days * 1440 + milliseconds / 6e4;
|
31
|
+
case 'second' : return days * 86400 + milliseconds / 1000;
|
32
|
+
// Math.floor prevents floating point math errors here
|
33
|
+
case 'millisecond': return Math.floor(days * 864e5) + milliseconds;
|
34
|
+
default: throw new Error('Unknown unit ' + units);
|
35
|
+
}
|
36
|
+
}
|
37
|
+
}
|
38
|
+
|
39
|
+
// TODO: Use this.as('ms')?
|
40
|
+
export function valueOf () {
|
41
|
+
if (!this.isValid()) {
|
42
|
+
return NaN;
|
43
|
+
}
|
44
|
+
return (
|
45
|
+
this._milliseconds +
|
46
|
+
this._days * 864e5 +
|
47
|
+
(this._months % 12) * 2592e6 +
|
48
|
+
toInt(this._months / 12) * 31536e6
|
49
|
+
);
|
50
|
+
}
|
51
|
+
|
52
|
+
function makeAs (alias) {
|
53
|
+
return function () {
|
54
|
+
return this.as(alias);
|
55
|
+
};
|
56
|
+
}
|
57
|
+
|
58
|
+
export var asMilliseconds = makeAs('ms');
|
59
|
+
export var asSeconds = makeAs('s');
|
60
|
+
export var asMinutes = makeAs('m');
|
61
|
+
export var asHours = makeAs('h');
|
62
|
+
export var asDays = makeAs('d');
|
63
|
+
export var asWeeks = makeAs('w');
|
64
|
+
export var asMonths = makeAs('M');
|
65
|
+
export var asQuarters = makeAs('Q');
|
66
|
+
export var asYears = makeAs('y');
|
@@ -0,0 +1,61 @@
|
|
1
|
+
import absFloor from '../utils/abs-floor';
|
2
|
+
import absCeil from '../utils/abs-ceil';
|
3
|
+
import { createUTCDate } from '../create/date-from-array';
|
4
|
+
|
5
|
+
export function bubble () {
|
6
|
+
var milliseconds = this._milliseconds;
|
7
|
+
var days = this._days;
|
8
|
+
var months = this._months;
|
9
|
+
var data = this._data;
|
10
|
+
var seconds, minutes, hours, years, monthsFromDays;
|
11
|
+
|
12
|
+
// if we have a mix of positive and negative values, bubble down first
|
13
|
+
// check: https://github.com/moment/moment/issues/2166
|
14
|
+
if (!((milliseconds >= 0 && days >= 0 && months >= 0) ||
|
15
|
+
(milliseconds <= 0 && days <= 0 && months <= 0))) {
|
16
|
+
milliseconds += absCeil(monthsToDays(months) + days) * 864e5;
|
17
|
+
days = 0;
|
18
|
+
months = 0;
|
19
|
+
}
|
20
|
+
|
21
|
+
// The following code bubbles up values, see the tests for
|
22
|
+
// examples of what that means.
|
23
|
+
data.milliseconds = milliseconds % 1000;
|
24
|
+
|
25
|
+
seconds = absFloor(milliseconds / 1000);
|
26
|
+
data.seconds = seconds % 60;
|
27
|
+
|
28
|
+
minutes = absFloor(seconds / 60);
|
29
|
+
data.minutes = minutes % 60;
|
30
|
+
|
31
|
+
hours = absFloor(minutes / 60);
|
32
|
+
data.hours = hours % 24;
|
33
|
+
|
34
|
+
days += absFloor(hours / 24);
|
35
|
+
|
36
|
+
// convert days to months
|
37
|
+
monthsFromDays = absFloor(daysToMonths(days));
|
38
|
+
months += monthsFromDays;
|
39
|
+
days -= absCeil(monthsToDays(monthsFromDays));
|
40
|
+
|
41
|
+
// 12 months -> 1 year
|
42
|
+
years = absFloor(months / 12);
|
43
|
+
months %= 12;
|
44
|
+
|
45
|
+
data.days = days;
|
46
|
+
data.months = months;
|
47
|
+
data.years = years;
|
48
|
+
|
49
|
+
return this;
|
50
|
+
}
|
51
|
+
|
52
|
+
export function daysToMonths (days) {
|
53
|
+
// 400 years have 146097 days (taking into account leap year rules)
|
54
|
+
// 400 years have 12 months === 4800
|
55
|
+
return days * 4800 / 146097;
|
56
|
+
}
|
57
|
+
|
58
|
+
export function monthsToDays (months) {
|
59
|
+
// the reverse of daysToMonths
|
60
|
+
return months * 146097 / 4800;
|
61
|
+
}
|
@@ -0,0 +1,44 @@
|
|
1
|
+
import { normalizeObjectUnits } from '../units/aliases';
|
2
|
+
import { getLocale } from '../locale/locales';
|
3
|
+
import isDurationValid from './valid.js';
|
4
|
+
|
5
|
+
export function Duration (duration) {
|
6
|
+
var normalizedInput = normalizeObjectUnits(duration),
|
7
|
+
years = normalizedInput.year || 0,
|
8
|
+
quarters = normalizedInput.quarter || 0,
|
9
|
+
months = normalizedInput.month || 0,
|
10
|
+
weeks = normalizedInput.week || normalizedInput.isoWeek || 0,
|
11
|
+
days = normalizedInput.day || 0,
|
12
|
+
hours = normalizedInput.hour || 0,
|
13
|
+
minutes = normalizedInput.minute || 0,
|
14
|
+
seconds = normalizedInput.second || 0,
|
15
|
+
milliseconds = normalizedInput.millisecond || 0;
|
16
|
+
|
17
|
+
this._isValid = isDurationValid(normalizedInput);
|
18
|
+
|
19
|
+
// representation for dateAddRemove
|
20
|
+
this._milliseconds = +milliseconds +
|
21
|
+
seconds * 1e3 + // 1000
|
22
|
+
minutes * 6e4 + // 1000 * 60
|
23
|
+
hours * 1000 * 60 * 60; //using 1000 * 60 * 60 instead of 36e5 to avoid floating point rounding errors https://github.com/moment/moment/issues/2978
|
24
|
+
// Because of dateAddRemove treats 24 hours as different from a
|
25
|
+
// day when working around DST, we need to store them separately
|
26
|
+
this._days = +days +
|
27
|
+
weeks * 7;
|
28
|
+
// It is impossible to translate months into days without knowing
|
29
|
+
// which months you are are talking about, so we have to store
|
30
|
+
// it separately.
|
31
|
+
this._months = +months +
|
32
|
+
quarters * 3 +
|
33
|
+
years * 12;
|
34
|
+
|
35
|
+
this._data = {};
|
36
|
+
|
37
|
+
this._locale = getLocale();
|
38
|
+
|
39
|
+
this._bubble();
|
40
|
+
}
|
41
|
+
|
42
|
+
export function isDuration (obj) {
|
43
|
+
return obj instanceof Duration;
|
44
|
+
}
|
@@ -0,0 +1,122 @@
|
|
1
|
+
import { Duration, isDuration } from './constructor';
|
2
|
+
import isNumber from '../utils/is-number';
|
3
|
+
import toInt from '../utils/to-int';
|
4
|
+
import absRound from '../utils/abs-round';
|
5
|
+
import hasOwnProp from '../utils/has-own-prop';
|
6
|
+
import { DATE, HOUR, MINUTE, SECOND, MILLISECOND } from '../units/constants';
|
7
|
+
import { cloneWithOffset } from '../units/offset';
|
8
|
+
import { createLocal } from '../create/local';
|
9
|
+
import { createInvalid as invalid } from './valid';
|
10
|
+
|
11
|
+
// ASP.NET json date format regex
|
12
|
+
var aspNetRegex = /^(\-|\+)?(?:(\d*)[. ])?(\d+)\:(\d+)(?:\:(\d+)(\.\d*)?)?$/;
|
13
|
+
|
14
|
+
// from http://docs.closure-library.googlecode.com/git/closure_goog_date_date.js.source.html
|
15
|
+
// somewhat more in line with 4.4.3.2 2004 spec, but allows decimal anywhere
|
16
|
+
// and further modified to allow for strings containing both week and day
|
17
|
+
var isoRegex = /^(-|\+)?P(?:([-+]?[0-9,.]*)Y)?(?:([-+]?[0-9,.]*)M)?(?:([-+]?[0-9,.]*)W)?(?:([-+]?[0-9,.]*)D)?(?:T(?:([-+]?[0-9,.]*)H)?(?:([-+]?[0-9,.]*)M)?(?:([-+]?[0-9,.]*)S)?)?$/;
|
18
|
+
|
19
|
+
export function createDuration (input, key) {
|
20
|
+
var duration = input,
|
21
|
+
// matching against regexp is expensive, do it on demand
|
22
|
+
match = null,
|
23
|
+
sign,
|
24
|
+
ret,
|
25
|
+
diffRes;
|
26
|
+
|
27
|
+
if (isDuration(input)) {
|
28
|
+
duration = {
|
29
|
+
ms : input._milliseconds,
|
30
|
+
d : input._days,
|
31
|
+
M : input._months
|
32
|
+
};
|
33
|
+
} else if (isNumber(input)) {
|
34
|
+
duration = {};
|
35
|
+
if (key) {
|
36
|
+
duration[key] = input;
|
37
|
+
} else {
|
38
|
+
duration.milliseconds = input;
|
39
|
+
}
|
40
|
+
} else if (!!(match = aspNetRegex.exec(input))) {
|
41
|
+
sign = (match[1] === '-') ? -1 : 1;
|
42
|
+
duration = {
|
43
|
+
y : 0,
|
44
|
+
d : toInt(match[DATE]) * sign,
|
45
|
+
h : toInt(match[HOUR]) * sign,
|
46
|
+
m : toInt(match[MINUTE]) * sign,
|
47
|
+
s : toInt(match[SECOND]) * sign,
|
48
|
+
ms : toInt(absRound(match[MILLISECOND] * 1000)) * sign // the millisecond decimal point is included in the match
|
49
|
+
};
|
50
|
+
} else if (!!(match = isoRegex.exec(input))) {
|
51
|
+
sign = (match[1] === '-') ? -1 : 1;
|
52
|
+
duration = {
|
53
|
+
y : parseIso(match[2], sign),
|
54
|
+
M : parseIso(match[3], sign),
|
55
|
+
w : parseIso(match[4], sign),
|
56
|
+
d : parseIso(match[5], sign),
|
57
|
+
h : parseIso(match[6], sign),
|
58
|
+
m : parseIso(match[7], sign),
|
59
|
+
s : parseIso(match[8], sign)
|
60
|
+
};
|
61
|
+
} else if (duration == null) {// checks for null or undefined
|
62
|
+
duration = {};
|
63
|
+
} else if (typeof duration === 'object' && ('from' in duration || 'to' in duration)) {
|
64
|
+
diffRes = momentsDifference(createLocal(duration.from), createLocal(duration.to));
|
65
|
+
|
66
|
+
duration = {};
|
67
|
+
duration.ms = diffRes.milliseconds;
|
68
|
+
duration.M = diffRes.months;
|
69
|
+
}
|
70
|
+
|
71
|
+
ret = new Duration(duration);
|
72
|
+
|
73
|
+
if (isDuration(input) && hasOwnProp(input, '_locale')) {
|
74
|
+
ret._locale = input._locale;
|
75
|
+
}
|
76
|
+
|
77
|
+
return ret;
|
78
|
+
}
|
79
|
+
|
80
|
+
createDuration.fn = Duration.prototype;
|
81
|
+
createDuration.invalid = invalid;
|
82
|
+
|
83
|
+
function parseIso (inp, sign) {
|
84
|
+
// We'd normally use ~~inp for this, but unfortunately it also
|
85
|
+
// converts floats to ints.
|
86
|
+
// inp may be undefined, so careful calling replace on it.
|
87
|
+
var res = inp && parseFloat(inp.replace(',', '.'));
|
88
|
+
// apply sign while we're at it
|
89
|
+
return (isNaN(res) ? 0 : res) * sign;
|
90
|
+
}
|
91
|
+
|
92
|
+
function positiveMomentsDifference(base, other) {
|
93
|
+
var res = {};
|
94
|
+
|
95
|
+
res.months = other.month() - base.month() +
|
96
|
+
(other.year() - base.year()) * 12;
|
97
|
+
if (base.clone().add(res.months, 'M').isAfter(other)) {
|
98
|
+
--res.months;
|
99
|
+
}
|
100
|
+
|
101
|
+
res.milliseconds = +other - +(base.clone().add(res.months, 'M'));
|
102
|
+
|
103
|
+
return res;
|
104
|
+
}
|
105
|
+
|
106
|
+
function momentsDifference(base, other) {
|
107
|
+
var res;
|
108
|
+
if (!(base.isValid() && other.isValid())) {
|
109
|
+
return {milliseconds: 0, months: 0};
|
110
|
+
}
|
111
|
+
|
112
|
+
other = cloneWithOffset(other, base);
|
113
|
+
if (base.isBefore(other)) {
|
114
|
+
res = positiveMomentsDifference(base, other);
|
115
|
+
} else {
|
116
|
+
res = positiveMomentsDifference(other, base);
|
117
|
+
res.milliseconds = -res.milliseconds;
|
118
|
+
res.months = -res.months;
|
119
|
+
}
|
120
|
+
|
121
|
+
return res;
|
122
|
+
}
|
@@ -0,0 +1,16 @@
|
|
1
|
+
// Side effect imports
|
2
|
+
import './prototype';
|
3
|
+
|
4
|
+
import { createDuration } from './create';
|
5
|
+
import { isDuration } from './constructor';
|
6
|
+
import {
|
7
|
+
getSetRelativeTimeRounding,
|
8
|
+
getSetRelativeTimeThreshold
|
9
|
+
} from './humanize';
|
10
|
+
|
11
|
+
export {
|
12
|
+
createDuration,
|
13
|
+
isDuration,
|
14
|
+
getSetRelativeTimeRounding,
|
15
|
+
getSetRelativeTimeThreshold
|
16
|
+
};
|