Redesigned the querying for the sale duplicates screen to use aggregation; Finished the styling of the sale duplicate screen; Tested the functionality of sale duplicates; Added a way to show hidden (ignored) duplicates.
This commit is contained in:
1
.idea/PetitTetonMeteor.iml
generated
1
.idea/PetitTetonMeteor.iml
generated
@@ -10,6 +10,7 @@
|
||||
<orderEntry type="inheritedJdk" />
|
||||
<orderEntry type="sourceFolder" forTests="false" />
|
||||
<orderEntry type="library" name="meteor-packages-auto-import-npm" level="project" />
|
||||
<orderEntry type="library" name="meteor-packages-auto-import-npm" level="project" />
|
||||
<orderEntry type="library" name="meteor-packages-auto-import-browser" level="project" />
|
||||
</component>
|
||||
</module>
|
||||
386
.idea/libraries/meteor_packages_auto_import_browser.xml
generated
386
.idea/libraries/meteor_packages_auto_import_browser.xml
generated
@@ -7,10 +7,17 @@
|
||||
<item url="file://C:/Tools/.meteor/packages/meteortoys_listen/3.0.0/web.browser/config/config.css" />
|
||||
<item url="file://C:/Tools/.meteor/packages/meteortoys_listen/3.0.0/web.browser/config/config.js" />
|
||||
<item url="file://C:/Tools/.meteor/packages/meteortoys_method/3.0.4/web.browser/lib/main.js" />
|
||||
<item url="file://C:/Tools/.meteor/packages/rate-limit/1.0.8/web.browser/rate-limit.js" />
|
||||
<item url="file://C:/Tools/.meteor/packages/meteortoys_method/3.0.4/web.browser/client/main.css" />
|
||||
<item url="file://C:/Tools/.meteor/packages/meteortoys_method/3.0.4/web.browser/client/main.js" />
|
||||
<item url="file://C:/Tools/.meteor/packages/observe-sequence/1.0.16/web.browser/observe_sequence.js" />
|
||||
<item url="file://C:/Tools/.meteor/packages/meteortoys_method/3.0.4/web.browser/ToyKit/main.css" />
|
||||
<item url="file://C:/Tools/.meteor/packages/spacebars-compiler/1.1.1/web.browser/codegen.js" />
|
||||
<item url="file://C:/Tools/.meteor/packages/spacebars-compiler/1.1.1/web.browser/templatetag.js" />
|
||||
<item url="file://C:/Tools/.meteor/packages/spacebars-compiler/1.1.1/web.browser/compiler.js" />
|
||||
<item url="file://C:/Tools/.meteor/packages/spacebars-compiler/1.1.1/web.browser/react.js" />
|
||||
<item url="file://C:/Tools/.meteor/packages/meteortoys_method/3.0.4/web.browser/ToyKit/main.js" />
|
||||
<item url="file://C:/Tools/.meteor/packages/spacebars-compiler/1.1.1/web.browser/optimizer.js" />
|
||||
<item url="file://C:/Tools/.meteor/packages/meteortoys_pub/3.0.4/web.browser/lib/main.js" />
|
||||
<item url="file://C:/Tools/.meteor/packages/meteortoys_pub/3.0.4/web.browser/client/main.css" />
|
||||
<item url="file://C:/Tools/.meteor/packages/meteortoys_pub/3.0.4/web.browser/client/main.js" />
|
||||
@@ -31,73 +38,67 @@
|
||||
<item url="file://C:/Tools/.meteor/packages/meteortoys_shell/3.0.0/web.browser/client/main.js" />
|
||||
<item url="file://C:/Tools/.meteor/packages/meteortoys_shell/3.0.0/web.browser/config/config.css" />
|
||||
<item url="file://C:/Tools/.meteor/packages/meteortoys_shell/3.0.0/web.browser/config/config.js" />
|
||||
<item url="file://C:/Tools/.meteor/packages/ddp-client/1.2.9/web.browser/sockjs-0.3.4.js" />
|
||||
<item url="file://C:/Tools/.meteor/packages/ddp-client/1.2.9/web.browser/random_stream.js" />
|
||||
<item url="file://C:/Tools/.meteor/packages/ddp-client/1.2.9/web.browser/stream_client_common.js" />
|
||||
<item url="file://C:/Tools/.meteor/packages/ddp-client/1.2.9/web.browser/livedata_connection.js" />
|
||||
<item url="file://C:/Tools/.meteor/packages/ddp-client/1.2.9/web.browser/stream_client_sockjs.js" />
|
||||
<item url="file://C:/Tools/.meteor/packages/ddp-client/1.2.9/web.browser/namespace.js" />
|
||||
<item url="file://C:/Tools/.meteor/packages/meteortoys_status/3.0.0/web.browser/client/main.css" />
|
||||
<item url="file://C:/Tools/.meteor/packages/ddp-client/1.2.9/web.browser/livedata_common.js" />
|
||||
<item url="file://C:/Tools/.meteor/packages/meteortoys_status/3.0.0/web.browser/client/main.js" />
|
||||
<item url="file://C:/Tools/.meteor/packages/ddp-client/1.2.9/web.browser/client_convenience.js" />
|
||||
<item url="file://C:/Tools/.meteor/packages/meteortoys_status/3.0.0/web.browser/config/config.css" />
|
||||
<item url="file://C:/Tools/.meteor/packages/ddp-client/1.2.9/web.browser/id_map.js" />
|
||||
<item url="file://C:/Tools/.meteor/packages/meteortoys_status/3.0.0/web.browser/config/config.js" />
|
||||
<item url="file://C:/Tools/.meteor/packages/momentjs_moment/2.17.1/web.browser/moment.js" />
|
||||
<item url="file://C:/Tools/.meteor/packages/momentjs_moment/2.17.1/web.browser/export.js" />
|
||||
<item url="file://C:/Tools/.meteor/packages/tomwasd_history-polyfill/0.0.1/web.browser/packages/tomwasd_history-polyfill.js" />
|
||||
<item url="file://C:/Tools/.meteor/packages/blaze/2.1.9/web.browser/dombackend.js" />
|
||||
<item url="file://C:/Tools/.meteor/packages/blaze/2.1.9/web.browser/view.js" />
|
||||
<item url="file://C:/Tools/.meteor/packages/blaze/2.1.9/web.browser/materializer.js" />
|
||||
<item url="file://C:/Tools/.meteor/packages/blaze/2.1.9/web.browser/template.js" />
|
||||
<item url="file://C:/Tools/.meteor/packages/blaze/2.1.9/web.browser/exceptions.js" />
|
||||
<item url="file://C:/Tools/.meteor/packages/aldeed_template-extension/4.0.0/web.browser/lib/template-replaces.js" />
|
||||
<item url="file://C:/Tools/.meteor/packages/blaze/2.1.9/web.browser/attrs.js" />
|
||||
<item url="file://C:/Tools/.meteor/packages/aldeed_template-extension/4.0.0/web.browser/lib/template-instance-get.js" />
|
||||
<item url="file://C:/Tools/.meteor/packages/blaze/2.1.9/web.browser/backcompat.js" />
|
||||
<item url="file://C:/Tools/.meteor/packages/templating-tools/1.1.1/web.browser/html-scanner-tests.js" />
|
||||
<item url="file://C:/Tools/.meteor/packages/aldeed_template-extension/4.0.0/web.browser/lib/template-clear-event-maps.js" />
|
||||
<item url="file://C:/Tools/.meteor/packages/blaze/2.1.9/web.browser/events.js" />
|
||||
<item url="file://C:/Tools/.meteor/packages/templating-tools/1.1.1/web.browser/html-scanner.js" />
|
||||
<item url="file://C:/Tools/.meteor/packages/aldeed_template-extension/4.0.0/web.browser/lib/template-for-each-instance.js" />
|
||||
<item url="file://C:/Tools/.meteor/packages/blaze/2.1.9/web.browser/lookup.js" />
|
||||
<item url="file://C:/Tools/.meteor/packages/templating-tools/1.1.1/web.browser/compile-tags-with-spacebars.js" />
|
||||
<item url="file://C:/Tools/.meteor/packages/aldeed_template-extension/4.0.0/web.browser/lib/template-inherits-hooks-from.js" />
|
||||
<item url="file://C:/Tools/.meteor/packages/blaze/2.1.9/web.browser/builtins.js" />
|
||||
<item url="file://C:/Tools/.meteor/packages/templating-tools/1.1.1/web.browser/templating-tools.js" />
|
||||
<item url="file://C:/Tools/.meteor/packages/aldeed_template-extension/4.0.0/web.browser/lib/template-for-each.js" />
|
||||
<item url="file://C:/Tools/.meteor/packages/blaze/2.1.9/web.browser/preamble.js" />
|
||||
<item url="file://C:/Tools/.meteor/packages/aldeed_template-extension/4.0.0/web.browser/lib/template-copy-as.js" />
|
||||
<item url="file://C:/Tools/.meteor/packages/blaze/2.1.9/web.browser/domrange.js" />
|
||||
<item url="file://C:/Tools/.meteor/packages/aldeed_template-extension/4.0.0/web.browser/lib/template-inherits-helpers-from.js" />
|
||||
<item url="file://C:/Tools/.meteor/packages/templating-tools/1.1.1/web.browser/code-generation.js" />
|
||||
<item url="file://C:/Tools/.meteor/packages/aldeed_template-extension/4.0.0/web.browser/lib/template-register-helpers.js" />
|
||||
<item url="file://C:/Tools/.meteor/packages/templating-tools/1.1.1/web.browser/throw-compile-error.js" />
|
||||
<item url="file://C:/Tools/.meteor/packages/aldeed_template-extension/4.0.0/web.browser/lib/template-instance-parent.js" />
|
||||
<item url="file://C:/Tools/.meteor/packages/aldeed_template-extension/4.0.0/web.browser/lib/hooks.js" />
|
||||
<item url="file://C:/Tools/.meteor/packages/aldeed_template-extension/4.0.0/web.browser/lib/template-parent-data-function.js" />
|
||||
<item url="file://C:/Tools/.meteor/packages/blaze-tools/1.0.10/web.browser/tokens.js" />
|
||||
<item url="file://C:/Tools/.meteor/packages/tracker/1.1.3/web.browser/tracker.js" />
|
||||
<item url="file://C:/Tools/.meteor/packages/aldeed_template-extension/4.0.0/web.browser/lib/template-hooks.js" />
|
||||
<item url="file://C:/Tools/.meteor/packages/blaze-tools/1.0.10/web.browser/tojs.js" />
|
||||
<item url="file://C:/Tools/.meteor/packages/tracker/1.1.3/web.browser/deprecated.js" />
|
||||
<item url="file://C:/Tools/.meteor/packages/aldeed_template-extension/4.0.0/web.browser/lib/template-inherits-events-from.js" />
|
||||
<item url="file://C:/Tools/.meteor/packages/blaze-tools/1.0.10/web.browser/preamble.js" />
|
||||
<item url="file://C:/Tools/.meteor/packages/softwarerero_accounts-t9n/1.3.6/web.browser/t9n.coffee" />
|
||||
<item url="file://C:/Tools/.meteor/packages/aldeed_template-extension/4.0.0/web.browser/lib/template-global-hooks.js" />
|
||||
<item url="file://C:/Tools/.meteor/packages/softwarerero_accounts-t9n/1.3.6/web.browser/t9n/ko.coffee" />
|
||||
<item url="file://C:/Tools/.meteor/packages/softwarerero_accounts-t9n/1.3.6/web.browser/t9n/pt_PT.coffee" />
|
||||
<item url="file://C:/Tools/.meteor/packages/url/1.1.0/web.browser/url_client.js" />
|
||||
<item url="file://C:/Tools/.meteor/packages/arillo_flow-router-helpers/0.5.2/web.browser/client/helpers.coffee" />
|
||||
<item url="file://C:/Tools/.meteor/packages/caching-compiler/1.1.9/web.browser/multi-file-caching-compiler.js" />
|
||||
<item url="file://C:/Tools/.meteor/packages/softwarerero_accounts-t9n/1.3.6/web.browser/t9n/et.coffee" />
|
||||
<item url="file://C:/Tools/.meteor/packages/url/1.1.0/web.browser/url_common.js" />
|
||||
<item url="file://C:/Tools/.meteor/packages/caching-compiler/1.1.9/web.browser/caching-compiler.js" />
|
||||
<item url="file://C:/Tools/.meteor/packages/softwarerero_accounts-t9n/1.3.6/web.browser/t9n/no_NB.coffee" />
|
||||
<item url="file://C:/Tools/.meteor/packages/webapp/1.3.15/web.browser/webapp_client.js" />
|
||||
<item url="file://C:/Tools/.meteor/packages/softwarerero_accounts-t9n/1.3.6/web.browser/t9n/fr.coffee" />
|
||||
<item url="file://C:/Tools/.meteor/packages/webapp/1.3.15/web.browser/webapp_cordova.js" />
|
||||
<item url="file://C:/Tools/.meteor/packages/softwarerero_accounts-t9n/1.3.6/web.browser/t9n/es.coffee" />
|
||||
<item url="file://C:/Tools/.meteor/packages/webapp/1.3.15/web.browser/webapp_tests.js" />
|
||||
<item url="file://C:/Tools/.meteor/packages/softwarerero_accounts-t9n/1.3.6/web.browser/t9n/kh.coffee" />
|
||||
<item url="file://C:/Tools/.meteor/packages/webapp/1.3.15/web.browser/webapp_client_tests.js" />
|
||||
<item url="file://C:/Tools/.meteor/packages/softwarerero_accounts-t9n/1.3.6/web.browser/t9n/sk.coffee" />
|
||||
<item url="file://C:/Tools/.meteor/packages/mizzao_bootboxjs/4.4.0/web.browser/packages/mizzao_bootboxjs.js" />
|
||||
<item url="file://C:/Tools/.meteor/packages/softwarerero_accounts-t9n/1.3.6/web.browser/t9n/sv.coffee" />
|
||||
<item url="file://C:/Tools/.meteor/packages/softwarerero_accounts-t9n/1.3.6/web.browser/t9n/sl.coffee" />
|
||||
<item url="file://C:/Tools/.meteor/packages/softwarerero_accounts-t9n/1.3.6/web.browser/t9n/es_ES.coffee" />
|
||||
<item url="file://C:/Tools/.meteor/packages/webapp/1.3.15/web.browser/webapp_server.js" />
|
||||
<item url="file://C:/Tools/.meteor/packages/softwarerero_accounts-t9n/1.3.6/web.browser/t9n/it.coffee" />
|
||||
<item url="file://C:/Tools/.meteor/packages/softwarerero_accounts-t9n/1.3.6/web.browser/t9n/uk.coffee" />
|
||||
<item url="file://C:/Tools/.meteor/packages/softwarerero_accounts-t9n/1.3.6/web.browser/t9n/hu.coffee" />
|
||||
<item url="file://C:/Tools/.meteor/packages/softwarerero_accounts-t9n/1.3.6/web.browser/t9n/hr.coffee" />
|
||||
<item url="file://C:/Tools/.meteor/packages/momentjs_moment/2.18.1/web.browser/moment.js" />
|
||||
<item url="file://C:/Tools/.meteor/packages/softwarerero_accounts-t9n/1.3.6/web.browser/t9n/id.coffee" />
|
||||
<item url="file://C:/Tools/.meteor/packages/momentjs_moment/2.18.1/web.browser/export.js" />
|
||||
<item url="file://C:/Tools/.meteor/packages/softwarerero_accounts-t9n/1.3.6/web.browser/t9n/tr.coffee" />
|
||||
<item url="file://C:/Tools/.meteor/packages/softwarerero_accounts-t9n/1.3.6/web.browser/t9n/ja.coffee" />
|
||||
<item url="file://C:/Tools/.meteor/packages/softwarerero_accounts-t9n/1.3.6/web.browser/t9n/zh_TW.coffee" />
|
||||
@@ -110,42 +111,66 @@
|
||||
<item url="file://C:/Tools/.meteor/packages/softwarerero_accounts-t9n/1.3.6/web.browser/t9n/en.coffee" />
|
||||
<item url="file://C:/Tools/.meteor/packages/zimme_active-route/2.3.2/web.browser/packages/zimme_active-route.js" />
|
||||
<item url="file://C:/Tools/.meteor/packages/softwarerero_accounts-t9n/1.3.6/web.browser/t9n/ru.coffee" />
|
||||
<item url="file://C:/Tools/.meteor/packages/accounts-password/1.3.6/web.browser/password_server.js" />
|
||||
<item url="file://C:/Tools/.meteor/packages/softwarerero_accounts-t9n/1.3.6/web.browser/t9n/ro.coffee" />
|
||||
<item url="file://C:/Tools/.meteor/packages/softwarerero_accounts-t9n/1.3.6/web.browser/t9n/fa.coffee" />
|
||||
<item url="file://C:/Tools/.meteor/packages/softwarerero_accounts-t9n/1.3.6/web.browser/t9n/zh_CN.coffee" />
|
||||
<item url="file://C:/Tools/.meteor/packages/autoupdate/1.3.12/web.browser/autoupdate_client.js" />
|
||||
<item url="file://C:/Tools/.meteor/packages/softwarerero_accounts-t9n/1.3.6/web.browser/t9n/cs.coffee" />
|
||||
<item url="file://C:/Tools/.meteor/packages/accounts-password/1.3.6/web.browser/email_templates.js" />
|
||||
<item url="file://C:/Tools/.meteor/packages/caching-html-compiler/1.0.7/web.browser/caching-html-compiler.js" />
|
||||
<item url="file://C:/Tools/.meteor/packages/softwarerero_accounts-t9n/1.3.6/web.browser/t9n/pl.coffee" />
|
||||
<item url="file://C:/Tools/.meteor/packages/accounts-password/1.3.6/web.browser/email_tests_setup.js" />
|
||||
<item url="file://C:/Tools/.meteor/packages/softwarerero_accounts-t9n/1.3.6/web.browser/t9n/de.coffee" />
|
||||
<item url="file://C:/Tools/.meteor/packages/accounts-password/1.3.6/web.browser/password_client.js" />
|
||||
<item url="file://C:/Tools/.meteor/packages/softwarerero_accounts-t9n/1.3.6/web.browser/t9n/da.coffee" />
|
||||
<item url="file://C:/Tools/.meteor/packages/accounts-password/1.3.6/web.browser/password_tests.js" />
|
||||
<item url="file://C:/Tools/.meteor/packages/ddp-common/1.2.8/web.browser/random_stream.js" />
|
||||
<item url="file://C:/Tools/.meteor/packages/softwarerero_accounts-t9n/1.3.6/web.browser/t9n/nl.coffee" />
|
||||
<item url="file://C:/Tools/.meteor/packages/ddp-common/1.2.8/web.browser/method_invocation.js" />
|
||||
<item url="file://C:/Tools/.meteor/packages/softwarerero_accounts-t9n/1.3.6/web.browser/t9n/ca.coffee" />
|
||||
<item url="file://C:/Tools/.meteor/packages/ddp-common/1.2.8/web.browser/namespace.js" />
|
||||
<item url="file://C:/Tools/.meteor/packages/accounts-password/1.3.6/web.browser/password_tests_setup.js" />
|
||||
<item url="file://C:/Tools/.meteor/packages/ddp-common/1.2.8/web.browser/utils.js" />
|
||||
<item url="file://C:/Tools/.meteor/packages/accounts-password/1.3.6/web.browser/email_tests.js" />
|
||||
<item url="file://C:/Tools/.meteor/packages/ddp-common/1.2.8/web.browser/heartbeat.js" />
|
||||
<item url="file://C:/Tools/.meteor/packages/accounts-base/1.2.17/web.browser/accounts_client_tests.js" />
|
||||
<item url="file://C:/Tools/.meteor/packages/accounts-base/1.2.17/web.browser/accounts_client.js" />
|
||||
<item url="file://C:/Tools/.meteor/packages/useraccounts_core/1.14.2/web.browser/lib/methods.js" />
|
||||
<item url="file://C:/Tools/.meteor/packages/accounts-base/1.2.17/web.browser/accounts_rate_limit.js" />
|
||||
<item url="file://C:/Tools/.meteor/packages/fastclick/1.0.13/web.browser/pre.js" />
|
||||
<item url="file://C:/Tools/.meteor/packages/useraccounts_core/1.14.2/web.browser/lib/field.js" />
|
||||
<item url="file://C:/Tools/.meteor/packages/accounts-base/1.2.17/web.browser/accounts_server.js" />
|
||||
<item url="file://C:/Tools/.meteor/packages/fastclick/1.0.13/web.browser/post.js" />
|
||||
<item url="file://C:/Tools/.meteor/packages/useraccounts_core/1.14.2/web.browser/lib/utils.js" />
|
||||
<item url="file://C:/Tools/.meteor/packages/accounts-base/1.2.17/web.browser/accounts_tests_setup.js" />
|
||||
<item url="file://C:/Tools/.meteor/packages/fastclick/1.0.13/web.browser/fastclick.js" />
|
||||
<item url="file://C:/Tools/.meteor/packages/useraccounts_core/1.14.2/web.browser/lib/client.js" />
|
||||
<item url="file://C:/Tools/.meteor/packages/accounts-base/1.2.17/web.browser/accounts_reconnect_tests.js" />
|
||||
<item url="file://C:/Tools/.meteor/packages/useraccounts_core/1.14.2/web.browser/lib/core.js" />
|
||||
<item url="file://C:/Tools/.meteor/packages/accounts-base/1.2.17/web.browser/accounts_tests.js" />
|
||||
<item url="file://C:/Tools/.meteor/packages/accounts-base/1.2.17/web.browser/accounts_url_tests.js" />
|
||||
<item url="file://C:/Tools/.meteor/packages/html-tools/1.0.11/web.browser/scanner.js" />
|
||||
<item url="file://C:/Tools/.meteor/packages/useraccounts_core/1.14.2/web.browser/lib/templates_helpers/at_oauth.js" />
|
||||
<item url="file://C:/Tools/.meteor/packages/accounts-base/1.2.17/web.browser/client_tests.js" />
|
||||
<item url="file://C:/Tools/.meteor/packages/html-tools/1.0.11/web.browser/templatetag.js" />
|
||||
<item url="file://C:/Tools/.meteor/packages/useraccounts_core/1.14.2/web.browser/lib/templates_helpers/at_form.js" />
|
||||
<item url="file://C:/Tools/.meteor/packages/accounts-base/1.2.17/web.browser/localstorage_token.js" />
|
||||
<item url="file://C:/Tools/.meteor/packages/html-tools/1.0.11/web.browser/tokenize.js" />
|
||||
<item url="file://C:/Tools/.meteor/packages/useraccounts_core/1.14.2/web.browser/lib/templates_helpers/at_sep.js" />
|
||||
<item url="file://C:/Tools/.meteor/packages/accounts-base/1.2.17/web.browser/accounts_common.js" />
|
||||
<item url="file://C:/Tools/.meteor/packages/html-tools/1.0.11/web.browser/utils.js" />
|
||||
<item url="file://C:/Tools/.meteor/packages/useraccounts_core/1.14.2/web.browser/lib/templates_helpers/at_message.js" />
|
||||
<item url="file://C:/Tools/.meteor/packages/accounts-base/1.2.17/web.browser/url_server.js" />
|
||||
<item url="file://C:/Tools/.meteor/packages/html-tools/1.0.11/web.browser/charref.js" />
|
||||
<item url="file://C:/Tools/.meteor/packages/accounts-base/1.2.17/web.browser/client_main.js" />
|
||||
<item url="file://C:/Tools/.meteor/packages/html-tools/1.0.11/web.browser/parse.js" />
|
||||
<item url="file://C:/Tools/.meteor/packages/useraccounts_core/1.14.2/web.browser/lib/templates_helpers/at_pwd_form.js" />
|
||||
<item url="file://C:/Tools/.meteor/packages/accounts-base/1.2.17/web.browser/server_main.js" />
|
||||
<item url="file://C:/Tools/.meteor/packages/useraccounts_core/1.14.2/web.browser/lib/templates_helpers/at_nav_button.js" />
|
||||
<item url="file://C:/Tools/.meteor/packages/accounts-base/1.2.17/web.browser/server_tests.js" />
|
||||
<item url="file://C:/Tools/.meteor/packages/useraccounts_core/1.14.2/web.browser/lib/templates_helpers/at_pwd_form_btn.js" />
|
||||
<item url="file://C:/Tools/.meteor/packages/accounts-base/1.2.17/web.browser/url_client.js" />
|
||||
<item url="file://C:/Tools/.meteor/packages/htmljs/1.0.11/web.browser/html.js" />
|
||||
<item url="file://C:/Tools/.meteor/packages/useraccounts_core/1.14.2/web.browser/lib/templates_helpers/at_social.js" />
|
||||
<item url="file://C:/Tools/.meteor/packages/aldeed_collection2-core/1.2.0/web.browser/lib/collection2.js" />
|
||||
@@ -161,13 +186,14 @@
|
||||
<item url="file://C:/Tools/.meteor/packages/useraccounts_core/1.14.2/web.browser/lib/templates_helpers/at_title.js" />
|
||||
<item url="file://C:/Tools/.meteor/packages/useraccounts_core/1.14.2/web.browser/lib/templates_helpers/at_reCaptcha.js" />
|
||||
<item url="file://C:/Tools/.meteor/packages/aldeed_schema-index/1.1.1/web.browser/lib/indexing.js" />
|
||||
<item url="file://C:/Tools/.meteor/packages/ostrio_loggermongo/1.1.3/web.browser/loggermongo.coffee" />
|
||||
<item url="file://C:/Tools/.meteor/packages/useraccounts_core/1.14.2/web.browser/lib/templates_helpers/at_input.js" />
|
||||
<item url="file://C:/Tools/.meteor/packages/useraccounts_core/1.14.2/web.browser/lib/templates_helpers/at_resend_verification_email_link.js" />
|
||||
<item url="file://C:/Tools/.meteor/packages/useraccounts_core/1.14.2/web.browser/lib/templates_helpers/at_signup_link.js" />
|
||||
<item url="file://C:/Tools/.meteor/packages/ostrio_logger/1.1.2/web.browser/logger.coffee" />
|
||||
<item url="file://C:/Tools/.meteor/packages/useraccounts_flow-routing/1.14.2/web.browser/lib/core.js" />
|
||||
<item url="file://C:/Tools/.meteor/packages/useraccounts_flow-routing/1.14.2/web.browser/lib/client/client.js" />
|
||||
<item url="file://C:/Tools/.meteor/packages/useraccounts_flow-routing/1.14.2/web.browser/lib/client/templates_helpers/at_input.js" />
|
||||
<item url="file://C:/Tools/.meteor/packages/observe-sequence/1.0.14/web.browser/observe_sequence.js" />
|
||||
<item url="file://C:/Tools/.meteor/packages/reload/1.1.11/web.browser/deprecated.js" />
|
||||
<item url="file://C:/Tools/.meteor/packages/reload/1.1.11/web.browser/reload.js" />
|
||||
<item url="file://C:/Tools/.meteor/packages/retry/1.0.9/web.browser/retry.js" />
|
||||
@@ -175,21 +201,8 @@
|
||||
<item url="file://C:/Tools/.meteor/packages/fortawesome_fontawesome/4.7.0/web.browser/upstream/css/font-awesome.css" />
|
||||
<item url="file://C:/Tools/.meteor/packages/spacebars/1.0.13/web.browser/spacebars-runtime.js" />
|
||||
<item url="file://C:/Tools/.meteor/packages/poorvavyas_es6-shim/0.21.1/web.browser/es6-shim.js" />
|
||||
<item url="file://C:/Tools/.meteor/packages/spacebars-compiler/1.0.13/web.browser/react.js" />
|
||||
<item url="file://C:/Tools/.meteor/packages/spacebars-compiler/1.0.13/web.browser/compiler.js" />
|
||||
<item url="file://C:/Tools/.meteor/packages/spacebars-compiler/1.0.13/web.browser/templatetag.js" />
|
||||
<item url="file://C:/Tools/.meteor/packages/spacebars-compiler/1.0.13/web.browser/codegen.js" />
|
||||
<item url="file://C:/Tools/.meteor/packages/spacebars-compiler/1.0.13/web.browser/optimizer.js" />
|
||||
<item url="file://C:/Tools/.meteor/packages/templating-runtime/1.2.15/web.browser/dynamic.js" />
|
||||
<item url="file://C:/Tools/.meteor/packages/templating-runtime/1.2.15/web.browser/templating.js" />
|
||||
<item url="file://C:/Tools/.meteor/packages/templating-tools/1.0.5/web.browser/templating-tools.js" />
|
||||
<item url="file://C:/Tools/.meteor/packages/templating-tools/1.0.5/web.browser/compile-tags-with-spacebars.js" />
|
||||
<item url="file://C:/Tools/.meteor/packages/templating-tools/1.0.5/web.browser/html-scanner.js" />
|
||||
<item url="file://C:/Tools/.meteor/packages/templating-tools/1.0.5/web.browser/html-scanner-tests.js" />
|
||||
<item url="file://C:/Tools/.meteor/packages/templating-tools/1.0.5/web.browser/throw-compile-error.js" />
|
||||
<item url="file://C:/Tools/.meteor/packages/templating-tools/1.0.5/web.browser/code-generation.js" />
|
||||
<item url="file://C:/Tools/.meteor/packages/url/1.0.11/web.browser/url_common.js" />
|
||||
<item url="file://C:/Tools/.meteor/packages/url/1.0.11/web.browser/url_client.js" />
|
||||
<item url="file://C:/Tools/.meteor/packages/meteortoys_sub/3.0.0/web.browser/client/main.css" />
|
||||
<item url="file://C:/Tools/.meteor/packages/meteortoys_sub/3.0.0/web.browser/client/main.js" />
|
||||
<item url="file://C:/Tools/.meteor/packages/meteortoys_sub/3.0.0/web.browser/config/config.css" />
|
||||
@@ -200,10 +213,7 @@
|
||||
<item url="file://C:/Tools/.meteor/packages/meteortoys_throttle/3.0.0/web.browser/config/config.css" />
|
||||
<item url="file://C:/Tools/.meteor/packages/meteortoys_throttle/3.0.0/web.browser/config/config.js" />
|
||||
<item url="file://C:/Tools/.meteor/packages/callback-hook/1.0.10/web.browser/hook.js" />
|
||||
<item url="file://C:/Tools/.meteor/packages/check/1.2.4/web.browser/match.js" />
|
||||
<item url="file://C:/Tools/.meteor/packages/check/1.2.4/web.browser/isPlainObject.js" />
|
||||
<item url="file://C:/Tools/.meteor/packages/aldeed_simple-schema/1.5.3/web.browser/simple-schema-utility.js" />
|
||||
<item url="file://C:/Tools/.meteor/packages/check/1.2.4/web.browser/match_test.js" />
|
||||
<item url="file://C:/Tools/.meteor/packages/aldeed_simple-schema/1.5.3/web.browser/string-humanize.js" />
|
||||
<item url="file://C:/Tools/.meteor/packages/aldeed_simple-schema/1.5.3/web.browser/simple-schema-validation-new.js" />
|
||||
<item url="file://C:/Tools/.meteor/packages/aldeed_simple-schema/1.5.3/web.browser/simple-schema.js" />
|
||||
@@ -215,18 +225,55 @@
|
||||
<item url="file://C:/Tools/.meteor/packages/meteortoys_toykit/3.0.4/web.browser/lib/privateAPI.js" />
|
||||
<item url="file://C:/Tools/.meteor/packages/mdg_validation-error/0.2.0/web.browser/validation-error.js" />
|
||||
<item url="file://C:/Tools/.meteor/packages/meteortoys_toykit/3.0.4/web.browser/style/toykit.css" />
|
||||
<item url="file://C:/Tools/.meteor/packages/launch-screen/1.1.1/web.browser/mobile-launch-screen.js" />
|
||||
<item url="file://C:/Tools/.meteor/packages/launch-screen/1.1.1/web.browser/default-behavior.js" />
|
||||
<item url="file://C:/Tools/.meteor/packages/logging/1.1.17/web.browser/logging_cordova.js" />
|
||||
<item url="file://C:/Tools/.meteor/packages/meteortoys_toykit/3.0.4/web.browser/client/main.js" />
|
||||
<item url="file://C:/Tools/.meteor/packages/logging/1.1.17/web.browser/logging.js" />
|
||||
<item url="file://C:/Tools/.meteor/packages/logging/1.1.17/web.browser/logging_test.js" />
|
||||
<item url="file://C:/Tools/.meteor/packages/msavin_jetsetter/2.0.0/web.browser/style/JetSetter.css" />
|
||||
<item url="file://C:/Tools/.meteor/packages/msavin_jetsetter/2.0.0/web.browser/client/main.js" />
|
||||
<item url="file://C:/Tools/.meteor/packages/msavin_jetsetter/2.0.0/web.browser/client/functions.js" />
|
||||
<item url="file://C:/Tools/.meteor/packages/blaze/2.3.2/web.browser/materializer.js" />
|
||||
<item url="file://C:/Tools/.meteor/packages/blaze/2.3.2/web.browser/view.js" />
|
||||
<item url="file://C:/Tools/.meteor/packages/blaze/2.3.2/web.browser/dombackend.js" />
|
||||
<item url="file://C:/Tools/.meteor/packages/blaze/2.3.2/web.browser/backcompat.js" />
|
||||
<item url="file://C:/Tools/.meteor/packages/msavin_jetsetter/2.0.0/web.browser/client/row/main.js" />
|
||||
<item url="file://C:/Tools/.meteor/packages/blaze/2.3.2/web.browser/attrs.js" />
|
||||
<item url="file://C:/Tools/.meteor/packages/blaze/2.3.2/web.browser/exceptions.js" />
|
||||
<item url="file://C:/Tools/.meteor/packages/blaze/2.3.2/web.browser/template.js" />
|
||||
<item url="file://C:/Tools/.meteor/packages/blaze/2.3.2/web.browser/preamble.js" />
|
||||
<item url="file://C:/Tools/.meteor/packages/blaze/2.3.2/web.browser/builtins.js" />
|
||||
<item url="file://C:/Tools/.meteor/packages/msavin_jetsetter/2.0.0/web.browser/client/row_dict/main.js" />
|
||||
<item url="file://C:/Tools/.meteor/packages/blaze/2.3.2/web.browser/lookup.js" />
|
||||
<item url="file://C:/Tools/.meteor/packages/blaze/2.3.2/web.browser/events.js" />
|
||||
<item url="file://C:/Tools/.meteor/packages/msavin_jetsetter/2.0.0/web.browser/client/_component/component.js" />
|
||||
<item url="file://C:/Tools/.meteor/packages/check/1.2.5/web.browser/match.js" />
|
||||
<item url="file://C:/Tools/.meteor/packages/blaze/2.3.2/web.browser/domrange.js" />
|
||||
<item url="file://C:/Tools/.meteor/packages/msavin_jetsetter/2.0.0/web.browser/client/row_editor/JetSetter_editor.js" />
|
||||
<item url="file://C:/Tools/.meteor/packages/check/1.2.5/web.browser/match_test.js" />
|
||||
<item url="file://C:/Tools/.meteor/packages/check/1.2.5/web.browser/isPlainObject.js" />
|
||||
<item url="file://C:/Tools/.meteor/packages/ddp-client/1.3.4/web.browser/stream_client_sockjs.js" />
|
||||
<item url="file://C:/Tools/.meteor/packages/ddp-client/1.3.4/web.browser/stream_client_tests.js" />
|
||||
<item url="file://C:/Tools/.meteor/packages/msavin_jetsetter/2.0.0/web.browser/client/row_header/JetSetter_header.js" />
|
||||
<item url="file://C:/Tools/.meteor/packages/ddp-client/1.3.4/web.browser/stream_client_common.js" />
|
||||
<item url="file://C:/Tools/.meteor/packages/ddp-client/1.3.4/web.browser/sockjs-0.3.4.js" />
|
||||
<item url="file://C:/Tools/.meteor/packages/ddp-client/1.3.4/web.browser/random_stream_tests.js" />
|
||||
<item url="file://C:/Tools/.meteor/packages/ddp-client/1.3.4/web.browser/stub_stream.js" />
|
||||
<item url="file://C:/Tools/.meteor/packages/ddp-client/1.3.4/web.browser/client_convenience.js" />
|
||||
<item url="file://C:/Tools/.meteor/packages/ddp-client/1.3.4/web.browser/livedata_common.js" />
|
||||
<item url="file://C:/Tools/.meteor/packages/ddp-client/1.3.4/web.browser/livedata_tests.js" />
|
||||
<item url="file://C:/Tools/.meteor/packages/msavin_jetsetter/2.0.0/web.browser/client/dirtySession/main.js" />
|
||||
<item url="file://C:/Tools/.meteor/packages/ddp-client/1.3.4/web.browser/livedata_connection_tests.js" />
|
||||
<item url="file://C:/Tools/.meteor/packages/ddp-client/1.3.4/web.browser/livedata_test_service.js" />
|
||||
<item url="file://C:/Tools/.meteor/packages/ddp-client/1.3.4/web.browser/random_stream.js" />
|
||||
<item url="file://C:/Tools/.meteor/packages/msavin_jetsetter/2.0.0/web.browser/client/dirtySession/create/main.js" />
|
||||
<item url="file://C:/Tools/.meteor/packages/ddp-client/1.3.4/web.browser/stream_tests.js" />
|
||||
<item url="file://C:/Tools/.meteor/packages/ddp-client/1.3.4/web.browser/namespace.js" />
|
||||
<item url="file://C:/Tools/.meteor/packages/ddp-client/1.3.4/web.browser/livedata_connection.js" />
|
||||
<item url="file://C:/Tools/.meteor/packages/ddp-client/1.3.4/web.browser/stream_client_nodejs.js" />
|
||||
<item url="file://C:/Tools/.meteor/packages/msavin_jetsetter/2.0.0/web.browser/client/dirtySession/editor/main.js" />
|
||||
<item url="file://C:/Tools/.meteor/packages/ddp-client/1.3.4/web.browser/id_map.js" />
|
||||
<item url="file://C:/Tools/.meteor/packages/msavin_jetsetter/2.0.0/web.browser/client/dirtySession/session/main.js" />
|
||||
<item url="file://C:/Tools/.meteor/packages/msavin_mongol/2.0.1/web.browser/lib/common.js" />
|
||||
<item url="file://C:/Tools/.meteor/packages/msavin_mongol/2.0.1/web.browser/style/Mongol.css" />
|
||||
@@ -243,14 +290,8 @@
|
||||
<item url="file://C:/Tools/.meteor/packages/msavin_mongol/2.0.1/web.browser/client/row_account/account.js" />
|
||||
<item url="file://C:/Tools/.meteor/packages/msavin_mongol/2.0.1/web.browser/client/row_account/accountViewer.js" />
|
||||
<item url="file://C:/Tools/.meteor/packages/msavin_mongol/2.0.1/web.browser/client/doc_controls/docControls.js" />
|
||||
<item url="file://C:/Tools/.meteor/packages/http/1.1.8/web.browser/deprecated.js" />
|
||||
<item url="file://C:/Tools/.meteor/packages/http/1.1.8/web.browser/test_responder.js" />
|
||||
<item url="file://C:/Tools/.meteor/packages/msavin_mongol/2.0.1/web.browser/client/row_collection/collections.js" />
|
||||
<item url="file://C:/Tools/.meteor/packages/http/1.1.8/web.browser/httpcall_tests.js" />
|
||||
<item url="file://C:/Tools/.meteor/packages/http/1.1.8/web.browser/httpcall_common.js" />
|
||||
<item url="file://C:/Tools/.meteor/packages/http/1.1.8/web.browser/httpcall_server.js" />
|
||||
<item url="file://C:/Tools/.meteor/packages/msavin_mongol/2.0.1/web.browser/client/row_subscriptions/main.js" />
|
||||
<item url="file://C:/Tools/.meteor/packages/http/1.1.8/web.browser/httpcall_client.js" />
|
||||
<item url="file://C:/Tools/.meteor/packages/msavin_mongol/2.0.1/web.browser/client/row_collection_notFound/notFound.js" />
|
||||
<item url="file://C:/Tools/.meteor/packages/kadira_flow-router/2.12.1/web.browser/lib/router.js" />
|
||||
<item url="file://C:/Tools/.meteor/packages/ordered-dict/1.0.9/web.browser/ordered_dict.js" />
|
||||
@@ -266,38 +307,30 @@
|
||||
<item url="file://C:/Tools/.meteor/packages/kadira_flow-router/2.12.1/web.browser/client/route.js" />
|
||||
<item url="file://C:/Tools/.meteor/packages/kadira_flow-router/2.12.1/web.browser/test/client/_helpers.js" />
|
||||
<item url="file://C:/Tools/.meteor/packages/diff-sequence/1.0.7/web.browser/diff.js" />
|
||||
<item url="file://C:/Tools/.meteor/packages/modules/0.8.2/web.browser/process.js" />
|
||||
<item url="file://C:/Tools/.meteor/packages/kadira_flow-router/2.12.1/web.browser/test/client/triggers.js" />
|
||||
<item url="file://C:/Tools/.meteor/packages/modules/0.8.2/web.browser/install-packages.js" />
|
||||
<item url="file://C:/Tools/.meteor/packages/kadira_flow-router/2.12.1/web.browser/test/common/fast_render_route.js" />
|
||||
<item url="file://C:/Tools/.meteor/packages/modules/0.8.2/web.browser/css.js" />
|
||||
<item url="file://C:/Tools/.meteor/packages/ecmascript-runtime/0.3.15/web.browser/runtime-tests.js" />
|
||||
<item url="file://C:/Tools/.meteor/packages/modules/0.8.2/web.browser/client.js" />
|
||||
<item url="file://C:/Tools/.meteor/packages/ecmascript-runtime/0.3.15/web.browser/runtime.js" />
|
||||
<item url="file://C:/Tools/.meteor/packages/accounts-base/1.2.14/web.browser/client_main.js" />
|
||||
<item url="file://C:/Tools/.meteor/packages/accounts-base/1.2.14/web.browser/server_main.js" />
|
||||
<item url="file://C:/Tools/.meteor/packages/accounts-base/1.2.14/web.browser/server_tests.js" />
|
||||
<item url="file://C:/Tools/.meteor/packages/accounts-base/1.2.14/web.browser/url_client.js" />
|
||||
<item url="file://C:/Tools/.meteor/packages/accounts-base/1.2.14/web.browser/client_tests.js" />
|
||||
<item url="file://C:/Tools/.meteor/packages/accounts-base/1.2.14/web.browser/localstorage_token.js" />
|
||||
<item url="file://C:/Tools/.meteor/packages/accounts-base/1.2.14/web.browser/accounts_common.js" />
|
||||
<item url="file://C:/Tools/.meteor/packages/accounts-base/1.2.14/web.browser/url_server.js" />
|
||||
<item url="file://C:/Tools/.meteor/packages/accounts-base/1.2.14/web.browser/accounts_reconnect_tests.js" />
|
||||
<item url="file://C:/Tools/.meteor/packages/accounts-base/1.2.14/web.browser/accounts_tests.js" />
|
||||
<item url="file://C:/Tools/.meteor/packages/accounts-base/1.2.14/web.browser/accounts_url_tests.js" />
|
||||
<item url="file://C:/Tools/.meteor/packages/modules/0.8.2/web.browser/stubs.js" />
|
||||
<item url="file://C:/Tools/.meteor/packages/modules/0.8.2/web.browser/reify.js" />
|
||||
<item url="file://C:/Tools/.meteor/packages/modules/0.8.2/web.browser/server.js" />
|
||||
<item url="file://C:/Tools/.meteor/packages/modules/0.8.2/web.browser/buffer.js" />
|
||||
<item url="file://C:/Tools/.meteor/packages/random/1.0.10/web.browser/deprecated.js" />
|
||||
<item url="file://C:/Tools/.meteor/packages/accounts-base/1.2.14/web.browser/accounts_client.js" />
|
||||
<item url="file://C:/Tools/.meteor/packages/random/1.0.10/web.browser/random_tests.js" />
|
||||
<item url="file://C:/Tools/.meteor/packages/accounts-base/1.2.14/web.browser/accounts_rate_limit.js" />
|
||||
<item url="file://C:/Tools/.meteor/packages/random/1.0.10/web.browser/random.js" />
|
||||
<item url="file://C:/Tools/.meteor/packages/accounts-base/1.2.14/web.browser/accounts_server.js" />
|
||||
<item url="file://C:/Tools/.meteor/packages/rate-limit/1.0.6/web.browser/rate-limit.js" />
|
||||
<item url="file://C:/Tools/.meteor/packages/accounts-password/1.3.3/web.browser/password_tests_setup.js" />
|
||||
<item url="file://C:/Tools/.meteor/packages/accounts-password/1.3.3/web.browser/email_tests.js" />
|
||||
<item url="file://C:/Tools/.meteor/packages/accounts-password/1.3.3/web.browser/email_templates.js" />
|
||||
<item url="file://C:/Tools/.meteor/packages/http/1.2.12/web.browser/httpcall_tests.js" />
|
||||
<item url="file://C:/Tools/.meteor/packages/http/1.2.12/web.browser/test_responder.js" />
|
||||
<item url="file://C:/Tools/.meteor/packages/http/1.2.12/web.browser/deprecated.js" />
|
||||
<item url="file://C:/Tools/.meteor/packages/reactive-dict/1.1.8/web.browser/reactive-dict-tests.js" />
|
||||
<item url="file://C:/Tools/.meteor/packages/accounts-password/1.3.3/web.browser/email_tests_setup.js" />
|
||||
<item url="file://C:/Tools/.meteor/packages/http/1.2.12/web.browser/httpcall_client.js" />
|
||||
<item url="file://C:/Tools/.meteor/packages/reactive-dict/1.1.8/web.browser/reactive-dict.js" />
|
||||
<item url="file://C:/Tools/.meteor/packages/accounts-password/1.3.3/web.browser/password_client.js" />
|
||||
<item url="file://C:/Tools/.meteor/packages/http/1.2.12/web.browser/httpcall_server.js" />
|
||||
<item url="file://C:/Tools/.meteor/packages/http/1.2.12/web.browser/httpcall_common.js" />
|
||||
<item url="file://C:/Tools/.meteor/packages/reactive-dict/1.1.8/web.browser/migration.js" />
|
||||
<item url="file://C:/Tools/.meteor/packages/accounts-password/1.3.3/web.browser/password_tests.js" />
|
||||
<item url="file://C:/Tools/.meteor/packages/accounts-password/1.3.3/web.browser/password_server.js" />
|
||||
<item url="file://C:/Tools/.meteor/packages/juliancwirko_s-alert/3.2.0/web.browser/client/s-alert-collection.js" />
|
||||
<item url="file://C:/Tools/.meteor/packages/juliancwirko_s-alert/3.2.0/web.browser/client/s-alert-template.js" />
|
||||
<item url="file://C:/Tools/.meteor/packages/juliancwirko_s-alert/3.2.0/web.browser/client/s-alert-default.css" />
|
||||
@@ -309,23 +342,15 @@
|
||||
<item url="file://C:/Tools/.meteor/packages/allow-deny/1.0.5/web.browser/allow-deny-tests.js" />
|
||||
<item url="file://C:/Tools/.meteor/packages/srp/1.0.10/web.browser/srp.js" />
|
||||
<item url="file://C:/Tools/.meteor/packages/srp/1.0.10/web.browser/biginteger.js" />
|
||||
<item url="file://C:/Tools/.meteor/packages/tracker/1.1.1/web.browser/deprecated.js" />
|
||||
<item url="file://C:/Tools/.meteor/packages/tracker/1.1.1/web.browser/tracker.js" />
|
||||
<item url="file://C:/Tools/.meteor/packages/underscore/1.0.10/web.browser/underscore.js" />
|
||||
<item url="file://C:/Tools/.meteor/packages/underscore/1.0.10/web.browser/pre.js" />
|
||||
<item url="file://C:/Tools/.meteor/packages/underscore/1.0.10/web.browser/post.js" />
|
||||
<item url="file://C:/Tools/.meteor/packages/webapp/1.3.12/web.browser/webapp_client_tests.js" />
|
||||
<item url="file://C:/Tools/.meteor/packages/webapp/1.3.12/web.browser/webapp_tests.js" />
|
||||
<item url="file://C:/Tools/.meteor/packages/webapp/1.3.12/web.browser/webapp_cordova.js" />
|
||||
<item url="file://C:/Tools/.meteor/packages/webapp/1.3.12/web.browser/webapp_client.js" />
|
||||
<item url="file://C:/Tools/.meteor/packages/webapp/1.3.12/web.browser/webapp_server.js" />
|
||||
<item url="file://C:/Tools/.meteor/packages/modules-runtime/0.7.10/web.browser/modules-runtime.js" />
|
||||
<item url="file://C:/Tools/.meteor/packages/id-map/1.0.9/web.browser/id-map.js" />
|
||||
<item url="file://C:/Tools/.meteor/packages/jquery/1.11.10/web.browser/jquery.js" />
|
||||
<item url="file://C:/Tools/.meteor/packages/jquery/1.11.10/web.browser/main.js" />
|
||||
<item url="file://C:/Tools/.meteor/packages/localstorage/1.0.12/web.browser/localstorage.js" />
|
||||
<item url="file://C:/Tools/.meteor/packages/logging/1.1.16/web.browser/logging_test.js" />
|
||||
<item url="file://C:/Tools/.meteor/packages/logging/1.1.16/web.browser/logging.js" />
|
||||
<item url="file://C:/Tools/.meteor/packages/logging/1.1.16/web.browser/logging_cordova.js" />
|
||||
<item url="file://C:/Tools/.meteor/packages/modules-runtime/0.7.10/web.browser/.npm/package/node_modules/install/install.js" />
|
||||
<item url="file://C:/Tools/.meteor/packages/ejson/1.0.13/web.browser/stringify.js" />
|
||||
<item url="file://C:/Tools/.meteor/packages/ejson/1.0.13/web.browser/ejson.js" />
|
||||
<item url="file://C:/Tools/.meteor/packages/es5-shim/4.6.15/web.browser/export_globals.js" />
|
||||
@@ -333,23 +358,12 @@
|
||||
<item url="file://C:/Tools/.meteor/packages/es5-shim/4.6.15/web.browser/console.js" />
|
||||
<item url="file://C:/Tools/.meteor/packages/es5-shim/4.6.15/web.browser/client.js" />
|
||||
<item url="file://C:/Tools/.meteor/packages/es5-shim/4.6.15/web.browser/server.js" />
|
||||
<item url="file://C:/Tools/.meteor/packages/modules/0.7.7/web.browser/install-packages.js" />
|
||||
<item url="file://C:/Tools/.meteor/packages/modules/0.7.7/web.browser/process.js" />
|
||||
<item url="file://C:/Tools/.meteor/packages/modules/0.7.7/web.browser/stubs.js" />
|
||||
<item url="file://C:/Tools/.meteor/packages/modules/0.7.7/web.browser/client.js" />
|
||||
<item url="file://C:/Tools/.meteor/packages/modules/0.7.7/web.browser/css.js" />
|
||||
<item url="file://C:/Tools/.meteor/packages/modules/0.7.7/web.browser/buffer.js" />
|
||||
<item url="file://C:/Tools/.meteor/packages/modules/0.7.7/web.browser/server.js" />
|
||||
<item url="file://C:/Tools/.meteor/packages/geojson-utils/1.0.10/web.browser/geojson-utils.js" />
|
||||
<item url="file://C:/Tools/.meteor/packages/geojson-utils/1.0.10/web.browser/main.js" />
|
||||
<item url="file://C:/Tools/.meteor/packages/kadira_blaze-layout/2.3.0/web.browser/lib/client/namespace.js" />
|
||||
<item url="file://C:/Tools/.meteor/packages/kadira_blaze-layout/2.3.0/web.browser/lib/client/layout.js" />
|
||||
<item url="file://C:/Tools/.meteor/packages/raix_eventemitter/0.1.3/web.browser/packages/raix_eventemitter.js" />
|
||||
<item url="file://C:/Tools/.meteor/packages/modules-runtime/0.7.7/web.browser/modules-runtime.js" />
|
||||
<item url="file://C:/Tools/.meteor/packages/modules-runtime/0.7.7/web.browser/.npm/package/node_modules/install/install.js" />
|
||||
<item url="file://C:/Tools/.meteor/packages/mongo-id/1.0.6/web.browser/id.js" />
|
||||
<item url="file://C:/Tools/.meteor/packages/launch-screen/1.0.12/web.browser/default-behavior.js" />
|
||||
<item url="file://C:/Tools/.meteor/packages/launch-screen/1.0.12/web.browser/mobile-launch-screen.js" />
|
||||
<item url="file://C:/Tools/.meteor/packages/meteortoys_allthings/3.0.0/web.browser/main.js" />
|
||||
<item url="file://C:/Tools/.meteor/packages/meteortoys_authenticate/3.0.0/web.browser/client/main.css" />
|
||||
<item url="file://C:/Tools/.meteor/packages/meteortoys_authenticate/3.0.0/web.browser/client/main.js" />
|
||||
@@ -400,7 +414,6 @@
|
||||
<item url="file://C:/Tools/.meteor/packages/meteortoys_hotreload/3.0.0/web.browser/client/main.js" />
|
||||
<item url="file://C:/Tools/.meteor/packages/meteortoys_hotreload/3.0.0/web.browser/config/config.css" />
|
||||
<item url="file://C:/Tools/.meteor/packages/meteortoys_hotreload/3.0.0/web.browser/config/config.js" />
|
||||
<item url="file://C:/Tools/.meteor/packages/autoupdate/1.2.11/web.browser/autoupdate_client.js" />
|
||||
</sourceFilesUrls>
|
||||
</properties>
|
||||
<CLASSES>
|
||||
@@ -409,10 +422,17 @@
|
||||
<root url="file://C:/Tools/.meteor/packages/meteortoys_listen/3.0.0/web.browser/config/config.css" />
|
||||
<root url="file://C:/Tools/.meteor/packages/meteortoys_listen/3.0.0/web.browser/config/config.js" />
|
||||
<root url="file://C:/Tools/.meteor/packages/meteortoys_method/3.0.4/web.browser/lib/main.js" />
|
||||
<root url="file://C:/Tools/.meteor/packages/rate-limit/1.0.8/web.browser/rate-limit.js" />
|
||||
<root url="file://C:/Tools/.meteor/packages/meteortoys_method/3.0.4/web.browser/client/main.css" />
|
||||
<root url="file://C:/Tools/.meteor/packages/meteortoys_method/3.0.4/web.browser/client/main.js" />
|
||||
<root url="file://C:/Tools/.meteor/packages/observe-sequence/1.0.16/web.browser/observe_sequence.js" />
|
||||
<root url="file://C:/Tools/.meteor/packages/meteortoys_method/3.0.4/web.browser/ToyKit/main.css" />
|
||||
<root url="file://C:/Tools/.meteor/packages/spacebars-compiler/1.1.1/web.browser/codegen.js" />
|
||||
<root url="file://C:/Tools/.meteor/packages/spacebars-compiler/1.1.1/web.browser/templatetag.js" />
|
||||
<root url="file://C:/Tools/.meteor/packages/spacebars-compiler/1.1.1/web.browser/compiler.js" />
|
||||
<root url="file://C:/Tools/.meteor/packages/spacebars-compiler/1.1.1/web.browser/react.js" />
|
||||
<root url="file://C:/Tools/.meteor/packages/meteortoys_method/3.0.4/web.browser/ToyKit/main.js" />
|
||||
<root url="file://C:/Tools/.meteor/packages/spacebars-compiler/1.1.1/web.browser/optimizer.js" />
|
||||
<root url="file://C:/Tools/.meteor/packages/meteortoys_pub/3.0.4/web.browser/lib/main.js" />
|
||||
<root url="file://C:/Tools/.meteor/packages/meteortoys_pub/3.0.4/web.browser/client/main.css" />
|
||||
<root url="file://C:/Tools/.meteor/packages/meteortoys_pub/3.0.4/web.browser/client/main.js" />
|
||||
@@ -433,73 +453,67 @@
|
||||
<root url="file://C:/Tools/.meteor/packages/meteortoys_shell/3.0.0/web.browser/client/main.js" />
|
||||
<root url="file://C:/Tools/.meteor/packages/meteortoys_shell/3.0.0/web.browser/config/config.css" />
|
||||
<root url="file://C:/Tools/.meteor/packages/meteortoys_shell/3.0.0/web.browser/config/config.js" />
|
||||
<root url="file://C:/Tools/.meteor/packages/ddp-client/1.2.9/web.browser/sockjs-0.3.4.js" />
|
||||
<root url="file://C:/Tools/.meteor/packages/ddp-client/1.2.9/web.browser/random_stream.js" />
|
||||
<root url="file://C:/Tools/.meteor/packages/ddp-client/1.2.9/web.browser/stream_client_common.js" />
|
||||
<root url="file://C:/Tools/.meteor/packages/ddp-client/1.2.9/web.browser/livedata_connection.js" />
|
||||
<root url="file://C:/Tools/.meteor/packages/ddp-client/1.2.9/web.browser/stream_client_sockjs.js" />
|
||||
<root url="file://C:/Tools/.meteor/packages/ddp-client/1.2.9/web.browser/namespace.js" />
|
||||
<root url="file://C:/Tools/.meteor/packages/meteortoys_status/3.0.0/web.browser/client/main.css" />
|
||||
<root url="file://C:/Tools/.meteor/packages/ddp-client/1.2.9/web.browser/livedata_common.js" />
|
||||
<root url="file://C:/Tools/.meteor/packages/meteortoys_status/3.0.0/web.browser/client/main.js" />
|
||||
<root url="file://C:/Tools/.meteor/packages/ddp-client/1.2.9/web.browser/client_convenience.js" />
|
||||
<root url="file://C:/Tools/.meteor/packages/meteortoys_status/3.0.0/web.browser/config/config.css" />
|
||||
<root url="file://C:/Tools/.meteor/packages/ddp-client/1.2.9/web.browser/id_map.js" />
|
||||
<root url="file://C:/Tools/.meteor/packages/meteortoys_status/3.0.0/web.browser/config/config.js" />
|
||||
<root url="file://C:/Tools/.meteor/packages/momentjs_moment/2.17.1/web.browser/moment.js" />
|
||||
<root url="file://C:/Tools/.meteor/packages/momentjs_moment/2.17.1/web.browser/export.js" />
|
||||
<root url="file://C:/Tools/.meteor/packages/tomwasd_history-polyfill/0.0.1/web.browser/packages/tomwasd_history-polyfill.js" />
|
||||
<root url="file://C:/Tools/.meteor/packages/blaze/2.1.9/web.browser/dombackend.js" />
|
||||
<root url="file://C:/Tools/.meteor/packages/blaze/2.1.9/web.browser/view.js" />
|
||||
<root url="file://C:/Tools/.meteor/packages/blaze/2.1.9/web.browser/materializer.js" />
|
||||
<root url="file://C:/Tools/.meteor/packages/blaze/2.1.9/web.browser/template.js" />
|
||||
<root url="file://C:/Tools/.meteor/packages/blaze/2.1.9/web.browser/exceptions.js" />
|
||||
<root url="file://C:/Tools/.meteor/packages/aldeed_template-extension/4.0.0/web.browser/lib/template-replaces.js" />
|
||||
<root url="file://C:/Tools/.meteor/packages/blaze/2.1.9/web.browser/attrs.js" />
|
||||
<root url="file://C:/Tools/.meteor/packages/aldeed_template-extension/4.0.0/web.browser/lib/template-instance-get.js" />
|
||||
<root url="file://C:/Tools/.meteor/packages/blaze/2.1.9/web.browser/backcompat.js" />
|
||||
<root url="file://C:/Tools/.meteor/packages/templating-tools/1.1.1/web.browser/html-scanner-tests.js" />
|
||||
<root url="file://C:/Tools/.meteor/packages/aldeed_template-extension/4.0.0/web.browser/lib/template-clear-event-maps.js" />
|
||||
<root url="file://C:/Tools/.meteor/packages/blaze/2.1.9/web.browser/events.js" />
|
||||
<root url="file://C:/Tools/.meteor/packages/templating-tools/1.1.1/web.browser/html-scanner.js" />
|
||||
<root url="file://C:/Tools/.meteor/packages/aldeed_template-extension/4.0.0/web.browser/lib/template-for-each-instance.js" />
|
||||
<root url="file://C:/Tools/.meteor/packages/blaze/2.1.9/web.browser/lookup.js" />
|
||||
<root url="file://C:/Tools/.meteor/packages/templating-tools/1.1.1/web.browser/compile-tags-with-spacebars.js" />
|
||||
<root url="file://C:/Tools/.meteor/packages/aldeed_template-extension/4.0.0/web.browser/lib/template-inherits-hooks-from.js" />
|
||||
<root url="file://C:/Tools/.meteor/packages/blaze/2.1.9/web.browser/builtins.js" />
|
||||
<root url="file://C:/Tools/.meteor/packages/templating-tools/1.1.1/web.browser/templating-tools.js" />
|
||||
<root url="file://C:/Tools/.meteor/packages/aldeed_template-extension/4.0.0/web.browser/lib/template-for-each.js" />
|
||||
<root url="file://C:/Tools/.meteor/packages/blaze/2.1.9/web.browser/preamble.js" />
|
||||
<root url="file://C:/Tools/.meteor/packages/aldeed_template-extension/4.0.0/web.browser/lib/template-copy-as.js" />
|
||||
<root url="file://C:/Tools/.meteor/packages/blaze/2.1.9/web.browser/domrange.js" />
|
||||
<root url="file://C:/Tools/.meteor/packages/aldeed_template-extension/4.0.0/web.browser/lib/template-inherits-helpers-from.js" />
|
||||
<root url="file://C:/Tools/.meteor/packages/templating-tools/1.1.1/web.browser/code-generation.js" />
|
||||
<root url="file://C:/Tools/.meteor/packages/aldeed_template-extension/4.0.0/web.browser/lib/template-register-helpers.js" />
|
||||
<root url="file://C:/Tools/.meteor/packages/templating-tools/1.1.1/web.browser/throw-compile-error.js" />
|
||||
<root url="file://C:/Tools/.meteor/packages/aldeed_template-extension/4.0.0/web.browser/lib/template-instance-parent.js" />
|
||||
<root url="file://C:/Tools/.meteor/packages/aldeed_template-extension/4.0.0/web.browser/lib/hooks.js" />
|
||||
<root url="file://C:/Tools/.meteor/packages/aldeed_template-extension/4.0.0/web.browser/lib/template-parent-data-function.js" />
|
||||
<root url="file://C:/Tools/.meteor/packages/blaze-tools/1.0.10/web.browser/tokens.js" />
|
||||
<root url="file://C:/Tools/.meteor/packages/tracker/1.1.3/web.browser/tracker.js" />
|
||||
<root url="file://C:/Tools/.meteor/packages/aldeed_template-extension/4.0.0/web.browser/lib/template-hooks.js" />
|
||||
<root url="file://C:/Tools/.meteor/packages/blaze-tools/1.0.10/web.browser/tojs.js" />
|
||||
<root url="file://C:/Tools/.meteor/packages/tracker/1.1.3/web.browser/deprecated.js" />
|
||||
<root url="file://C:/Tools/.meteor/packages/aldeed_template-extension/4.0.0/web.browser/lib/template-inherits-events-from.js" />
|
||||
<root url="file://C:/Tools/.meteor/packages/blaze-tools/1.0.10/web.browser/preamble.js" />
|
||||
<root url="file://C:/Tools/.meteor/packages/softwarerero_accounts-t9n/1.3.6/web.browser/t9n.coffee" />
|
||||
<root url="file://C:/Tools/.meteor/packages/aldeed_template-extension/4.0.0/web.browser/lib/template-global-hooks.js" />
|
||||
<root url="file://C:/Tools/.meteor/packages/softwarerero_accounts-t9n/1.3.6/web.browser/t9n/ko.coffee" />
|
||||
<root url="file://C:/Tools/.meteor/packages/softwarerero_accounts-t9n/1.3.6/web.browser/t9n/pt_PT.coffee" />
|
||||
<root url="file://C:/Tools/.meteor/packages/url/1.1.0/web.browser/url_client.js" />
|
||||
<root url="file://C:/Tools/.meteor/packages/arillo_flow-router-helpers/0.5.2/web.browser/client/helpers.coffee" />
|
||||
<root url="file://C:/Tools/.meteor/packages/caching-compiler/1.1.9/web.browser/multi-file-caching-compiler.js" />
|
||||
<root url="file://C:/Tools/.meteor/packages/softwarerero_accounts-t9n/1.3.6/web.browser/t9n/et.coffee" />
|
||||
<root url="file://C:/Tools/.meteor/packages/url/1.1.0/web.browser/url_common.js" />
|
||||
<root url="file://C:/Tools/.meteor/packages/caching-compiler/1.1.9/web.browser/caching-compiler.js" />
|
||||
<root url="file://C:/Tools/.meteor/packages/softwarerero_accounts-t9n/1.3.6/web.browser/t9n/no_NB.coffee" />
|
||||
<root url="file://C:/Tools/.meteor/packages/webapp/1.3.15/web.browser/webapp_client.js" />
|
||||
<root url="file://C:/Tools/.meteor/packages/softwarerero_accounts-t9n/1.3.6/web.browser/t9n/fr.coffee" />
|
||||
<root url="file://C:/Tools/.meteor/packages/webapp/1.3.15/web.browser/webapp_cordova.js" />
|
||||
<root url="file://C:/Tools/.meteor/packages/softwarerero_accounts-t9n/1.3.6/web.browser/t9n/es.coffee" />
|
||||
<root url="file://C:/Tools/.meteor/packages/webapp/1.3.15/web.browser/webapp_tests.js" />
|
||||
<root url="file://C:/Tools/.meteor/packages/softwarerero_accounts-t9n/1.3.6/web.browser/t9n/kh.coffee" />
|
||||
<root url="file://C:/Tools/.meteor/packages/webapp/1.3.15/web.browser/webapp_client_tests.js" />
|
||||
<root url="file://C:/Tools/.meteor/packages/softwarerero_accounts-t9n/1.3.6/web.browser/t9n/sk.coffee" />
|
||||
<root url="file://C:/Tools/.meteor/packages/mizzao_bootboxjs/4.4.0/web.browser/packages/mizzao_bootboxjs.js" />
|
||||
<root url="file://C:/Tools/.meteor/packages/softwarerero_accounts-t9n/1.3.6/web.browser/t9n/sv.coffee" />
|
||||
<root url="file://C:/Tools/.meteor/packages/softwarerero_accounts-t9n/1.3.6/web.browser/t9n/sl.coffee" />
|
||||
<root url="file://C:/Tools/.meteor/packages/softwarerero_accounts-t9n/1.3.6/web.browser/t9n/es_ES.coffee" />
|
||||
<root url="file://C:/Tools/.meteor/packages/webapp/1.3.15/web.browser/webapp_server.js" />
|
||||
<root url="file://C:/Tools/.meteor/packages/softwarerero_accounts-t9n/1.3.6/web.browser/t9n/it.coffee" />
|
||||
<root url="file://C:/Tools/.meteor/packages/softwarerero_accounts-t9n/1.3.6/web.browser/t9n/uk.coffee" />
|
||||
<root url="file://C:/Tools/.meteor/packages/softwarerero_accounts-t9n/1.3.6/web.browser/t9n/hu.coffee" />
|
||||
<root url="file://C:/Tools/.meteor/packages/softwarerero_accounts-t9n/1.3.6/web.browser/t9n/hr.coffee" />
|
||||
<root url="file://C:/Tools/.meteor/packages/momentjs_moment/2.18.1/web.browser/moment.js" />
|
||||
<root url="file://C:/Tools/.meteor/packages/softwarerero_accounts-t9n/1.3.6/web.browser/t9n/id.coffee" />
|
||||
<root url="file://C:/Tools/.meteor/packages/momentjs_moment/2.18.1/web.browser/export.js" />
|
||||
<root url="file://C:/Tools/.meteor/packages/softwarerero_accounts-t9n/1.3.6/web.browser/t9n/tr.coffee" />
|
||||
<root url="file://C:/Tools/.meteor/packages/softwarerero_accounts-t9n/1.3.6/web.browser/t9n/ja.coffee" />
|
||||
<root url="file://C:/Tools/.meteor/packages/softwarerero_accounts-t9n/1.3.6/web.browser/t9n/zh_TW.coffee" />
|
||||
@@ -512,42 +526,66 @@
|
||||
<root url="file://C:/Tools/.meteor/packages/softwarerero_accounts-t9n/1.3.6/web.browser/t9n/en.coffee" />
|
||||
<root url="file://C:/Tools/.meteor/packages/zimme_active-route/2.3.2/web.browser/packages/zimme_active-route.js" />
|
||||
<root url="file://C:/Tools/.meteor/packages/softwarerero_accounts-t9n/1.3.6/web.browser/t9n/ru.coffee" />
|
||||
<root url="file://C:/Tools/.meteor/packages/accounts-password/1.3.6/web.browser/password_server.js" />
|
||||
<root url="file://C:/Tools/.meteor/packages/softwarerero_accounts-t9n/1.3.6/web.browser/t9n/ro.coffee" />
|
||||
<root url="file://C:/Tools/.meteor/packages/softwarerero_accounts-t9n/1.3.6/web.browser/t9n/fa.coffee" />
|
||||
<root url="file://C:/Tools/.meteor/packages/softwarerero_accounts-t9n/1.3.6/web.browser/t9n/zh_CN.coffee" />
|
||||
<root url="file://C:/Tools/.meteor/packages/autoupdate/1.3.12/web.browser/autoupdate_client.js" />
|
||||
<root url="file://C:/Tools/.meteor/packages/softwarerero_accounts-t9n/1.3.6/web.browser/t9n/cs.coffee" />
|
||||
<root url="file://C:/Tools/.meteor/packages/accounts-password/1.3.6/web.browser/email_templates.js" />
|
||||
<root url="file://C:/Tools/.meteor/packages/caching-html-compiler/1.0.7/web.browser/caching-html-compiler.js" />
|
||||
<root url="file://C:/Tools/.meteor/packages/softwarerero_accounts-t9n/1.3.6/web.browser/t9n/pl.coffee" />
|
||||
<root url="file://C:/Tools/.meteor/packages/accounts-password/1.3.6/web.browser/email_tests_setup.js" />
|
||||
<root url="file://C:/Tools/.meteor/packages/softwarerero_accounts-t9n/1.3.6/web.browser/t9n/de.coffee" />
|
||||
<root url="file://C:/Tools/.meteor/packages/accounts-password/1.3.6/web.browser/password_client.js" />
|
||||
<root url="file://C:/Tools/.meteor/packages/softwarerero_accounts-t9n/1.3.6/web.browser/t9n/da.coffee" />
|
||||
<root url="file://C:/Tools/.meteor/packages/accounts-password/1.3.6/web.browser/password_tests.js" />
|
||||
<root url="file://C:/Tools/.meteor/packages/ddp-common/1.2.8/web.browser/random_stream.js" />
|
||||
<root url="file://C:/Tools/.meteor/packages/softwarerero_accounts-t9n/1.3.6/web.browser/t9n/nl.coffee" />
|
||||
<root url="file://C:/Tools/.meteor/packages/ddp-common/1.2.8/web.browser/method_invocation.js" />
|
||||
<root url="file://C:/Tools/.meteor/packages/softwarerero_accounts-t9n/1.3.6/web.browser/t9n/ca.coffee" />
|
||||
<root url="file://C:/Tools/.meteor/packages/ddp-common/1.2.8/web.browser/namespace.js" />
|
||||
<root url="file://C:/Tools/.meteor/packages/accounts-password/1.3.6/web.browser/password_tests_setup.js" />
|
||||
<root url="file://C:/Tools/.meteor/packages/ddp-common/1.2.8/web.browser/utils.js" />
|
||||
<root url="file://C:/Tools/.meteor/packages/accounts-password/1.3.6/web.browser/email_tests.js" />
|
||||
<root url="file://C:/Tools/.meteor/packages/ddp-common/1.2.8/web.browser/heartbeat.js" />
|
||||
<root url="file://C:/Tools/.meteor/packages/accounts-base/1.2.17/web.browser/accounts_client_tests.js" />
|
||||
<root url="file://C:/Tools/.meteor/packages/accounts-base/1.2.17/web.browser/accounts_client.js" />
|
||||
<root url="file://C:/Tools/.meteor/packages/useraccounts_core/1.14.2/web.browser/lib/methods.js" />
|
||||
<root url="file://C:/Tools/.meteor/packages/accounts-base/1.2.17/web.browser/accounts_rate_limit.js" />
|
||||
<root url="file://C:/Tools/.meteor/packages/fastclick/1.0.13/web.browser/pre.js" />
|
||||
<root url="file://C:/Tools/.meteor/packages/useraccounts_core/1.14.2/web.browser/lib/field.js" />
|
||||
<root url="file://C:/Tools/.meteor/packages/accounts-base/1.2.17/web.browser/accounts_server.js" />
|
||||
<root url="file://C:/Tools/.meteor/packages/fastclick/1.0.13/web.browser/post.js" />
|
||||
<root url="file://C:/Tools/.meteor/packages/useraccounts_core/1.14.2/web.browser/lib/utils.js" />
|
||||
<root url="file://C:/Tools/.meteor/packages/accounts-base/1.2.17/web.browser/accounts_tests_setup.js" />
|
||||
<root url="file://C:/Tools/.meteor/packages/fastclick/1.0.13/web.browser/fastclick.js" />
|
||||
<root url="file://C:/Tools/.meteor/packages/useraccounts_core/1.14.2/web.browser/lib/client.js" />
|
||||
<root url="file://C:/Tools/.meteor/packages/accounts-base/1.2.17/web.browser/accounts_reconnect_tests.js" />
|
||||
<root url="file://C:/Tools/.meteor/packages/useraccounts_core/1.14.2/web.browser/lib/core.js" />
|
||||
<root url="file://C:/Tools/.meteor/packages/accounts-base/1.2.17/web.browser/accounts_tests.js" />
|
||||
<root url="file://C:/Tools/.meteor/packages/accounts-base/1.2.17/web.browser/accounts_url_tests.js" />
|
||||
<root url="file://C:/Tools/.meteor/packages/html-tools/1.0.11/web.browser/scanner.js" />
|
||||
<root url="file://C:/Tools/.meteor/packages/useraccounts_core/1.14.2/web.browser/lib/templates_helpers/at_oauth.js" />
|
||||
<root url="file://C:/Tools/.meteor/packages/accounts-base/1.2.17/web.browser/client_tests.js" />
|
||||
<root url="file://C:/Tools/.meteor/packages/html-tools/1.0.11/web.browser/templatetag.js" />
|
||||
<root url="file://C:/Tools/.meteor/packages/useraccounts_core/1.14.2/web.browser/lib/templates_helpers/at_form.js" />
|
||||
<root url="file://C:/Tools/.meteor/packages/accounts-base/1.2.17/web.browser/localstorage_token.js" />
|
||||
<root url="file://C:/Tools/.meteor/packages/html-tools/1.0.11/web.browser/tokenize.js" />
|
||||
<root url="file://C:/Tools/.meteor/packages/useraccounts_core/1.14.2/web.browser/lib/templates_helpers/at_sep.js" />
|
||||
<root url="file://C:/Tools/.meteor/packages/accounts-base/1.2.17/web.browser/accounts_common.js" />
|
||||
<root url="file://C:/Tools/.meteor/packages/html-tools/1.0.11/web.browser/utils.js" />
|
||||
<root url="file://C:/Tools/.meteor/packages/useraccounts_core/1.14.2/web.browser/lib/templates_helpers/at_message.js" />
|
||||
<root url="file://C:/Tools/.meteor/packages/accounts-base/1.2.17/web.browser/url_server.js" />
|
||||
<root url="file://C:/Tools/.meteor/packages/html-tools/1.0.11/web.browser/charref.js" />
|
||||
<root url="file://C:/Tools/.meteor/packages/accounts-base/1.2.17/web.browser/client_main.js" />
|
||||
<root url="file://C:/Tools/.meteor/packages/html-tools/1.0.11/web.browser/parse.js" />
|
||||
<root url="file://C:/Tools/.meteor/packages/useraccounts_core/1.14.2/web.browser/lib/templates_helpers/at_pwd_form.js" />
|
||||
<root url="file://C:/Tools/.meteor/packages/accounts-base/1.2.17/web.browser/server_main.js" />
|
||||
<root url="file://C:/Tools/.meteor/packages/useraccounts_core/1.14.2/web.browser/lib/templates_helpers/at_nav_button.js" />
|
||||
<root url="file://C:/Tools/.meteor/packages/accounts-base/1.2.17/web.browser/server_tests.js" />
|
||||
<root url="file://C:/Tools/.meteor/packages/useraccounts_core/1.14.2/web.browser/lib/templates_helpers/at_pwd_form_btn.js" />
|
||||
<root url="file://C:/Tools/.meteor/packages/accounts-base/1.2.17/web.browser/url_client.js" />
|
||||
<root url="file://C:/Tools/.meteor/packages/htmljs/1.0.11/web.browser/html.js" />
|
||||
<root url="file://C:/Tools/.meteor/packages/useraccounts_core/1.14.2/web.browser/lib/templates_helpers/at_social.js" />
|
||||
<root url="file://C:/Tools/.meteor/packages/aldeed_collection2-core/1.2.0/web.browser/lib/collection2.js" />
|
||||
@@ -563,13 +601,14 @@
|
||||
<root url="file://C:/Tools/.meteor/packages/useraccounts_core/1.14.2/web.browser/lib/templates_helpers/at_title.js" />
|
||||
<root url="file://C:/Tools/.meteor/packages/useraccounts_core/1.14.2/web.browser/lib/templates_helpers/at_reCaptcha.js" />
|
||||
<root url="file://C:/Tools/.meteor/packages/aldeed_schema-index/1.1.1/web.browser/lib/indexing.js" />
|
||||
<root url="file://C:/Tools/.meteor/packages/ostrio_loggermongo/1.1.3/web.browser/loggermongo.coffee" />
|
||||
<root url="file://C:/Tools/.meteor/packages/useraccounts_core/1.14.2/web.browser/lib/templates_helpers/at_input.js" />
|
||||
<root url="file://C:/Tools/.meteor/packages/useraccounts_core/1.14.2/web.browser/lib/templates_helpers/at_resend_verification_email_link.js" />
|
||||
<root url="file://C:/Tools/.meteor/packages/useraccounts_core/1.14.2/web.browser/lib/templates_helpers/at_signup_link.js" />
|
||||
<root url="file://C:/Tools/.meteor/packages/ostrio_logger/1.1.2/web.browser/logger.coffee" />
|
||||
<root url="file://C:/Tools/.meteor/packages/useraccounts_flow-routing/1.14.2/web.browser/lib/core.js" />
|
||||
<root url="file://C:/Tools/.meteor/packages/useraccounts_flow-routing/1.14.2/web.browser/lib/client/client.js" />
|
||||
<root url="file://C:/Tools/.meteor/packages/useraccounts_flow-routing/1.14.2/web.browser/lib/client/templates_helpers/at_input.js" />
|
||||
<root url="file://C:/Tools/.meteor/packages/observe-sequence/1.0.14/web.browser/observe_sequence.js" />
|
||||
<root url="file://C:/Tools/.meteor/packages/reload/1.1.11/web.browser/deprecated.js" />
|
||||
<root url="file://C:/Tools/.meteor/packages/reload/1.1.11/web.browser/reload.js" />
|
||||
<root url="file://C:/Tools/.meteor/packages/retry/1.0.9/web.browser/retry.js" />
|
||||
@@ -577,21 +616,8 @@
|
||||
<root url="file://C:/Tools/.meteor/packages/fortawesome_fontawesome/4.7.0/web.browser/upstream/css/font-awesome.css" />
|
||||
<root url="file://C:/Tools/.meteor/packages/spacebars/1.0.13/web.browser/spacebars-runtime.js" />
|
||||
<root url="file://C:/Tools/.meteor/packages/poorvavyas_es6-shim/0.21.1/web.browser/es6-shim.js" />
|
||||
<root url="file://C:/Tools/.meteor/packages/spacebars-compiler/1.0.13/web.browser/react.js" />
|
||||
<root url="file://C:/Tools/.meteor/packages/spacebars-compiler/1.0.13/web.browser/compiler.js" />
|
||||
<root url="file://C:/Tools/.meteor/packages/spacebars-compiler/1.0.13/web.browser/templatetag.js" />
|
||||
<root url="file://C:/Tools/.meteor/packages/spacebars-compiler/1.0.13/web.browser/codegen.js" />
|
||||
<root url="file://C:/Tools/.meteor/packages/spacebars-compiler/1.0.13/web.browser/optimizer.js" />
|
||||
<root url="file://C:/Tools/.meteor/packages/templating-runtime/1.2.15/web.browser/dynamic.js" />
|
||||
<root url="file://C:/Tools/.meteor/packages/templating-runtime/1.2.15/web.browser/templating.js" />
|
||||
<root url="file://C:/Tools/.meteor/packages/templating-tools/1.0.5/web.browser/templating-tools.js" />
|
||||
<root url="file://C:/Tools/.meteor/packages/templating-tools/1.0.5/web.browser/compile-tags-with-spacebars.js" />
|
||||
<root url="file://C:/Tools/.meteor/packages/templating-tools/1.0.5/web.browser/html-scanner.js" />
|
||||
<root url="file://C:/Tools/.meteor/packages/templating-tools/1.0.5/web.browser/html-scanner-tests.js" />
|
||||
<root url="file://C:/Tools/.meteor/packages/templating-tools/1.0.5/web.browser/throw-compile-error.js" />
|
||||
<root url="file://C:/Tools/.meteor/packages/templating-tools/1.0.5/web.browser/code-generation.js" />
|
||||
<root url="file://C:/Tools/.meteor/packages/url/1.0.11/web.browser/url_common.js" />
|
||||
<root url="file://C:/Tools/.meteor/packages/url/1.0.11/web.browser/url_client.js" />
|
||||
<root url="file://C:/Tools/.meteor/packages/meteortoys_sub/3.0.0/web.browser/client/main.css" />
|
||||
<root url="file://C:/Tools/.meteor/packages/meteortoys_sub/3.0.0/web.browser/client/main.js" />
|
||||
<root url="file://C:/Tools/.meteor/packages/meteortoys_sub/3.0.0/web.browser/config/config.css" />
|
||||
@@ -602,10 +628,7 @@
|
||||
<root url="file://C:/Tools/.meteor/packages/meteortoys_throttle/3.0.0/web.browser/config/config.css" />
|
||||
<root url="file://C:/Tools/.meteor/packages/meteortoys_throttle/3.0.0/web.browser/config/config.js" />
|
||||
<root url="file://C:/Tools/.meteor/packages/callback-hook/1.0.10/web.browser/hook.js" />
|
||||
<root url="file://C:/Tools/.meteor/packages/check/1.2.4/web.browser/match.js" />
|
||||
<root url="file://C:/Tools/.meteor/packages/check/1.2.4/web.browser/isPlainObject.js" />
|
||||
<root url="file://C:/Tools/.meteor/packages/aldeed_simple-schema/1.5.3/web.browser/simple-schema-utility.js" />
|
||||
<root url="file://C:/Tools/.meteor/packages/check/1.2.4/web.browser/match_test.js" />
|
||||
<root url="file://C:/Tools/.meteor/packages/aldeed_simple-schema/1.5.3/web.browser/string-humanize.js" />
|
||||
<root url="file://C:/Tools/.meteor/packages/aldeed_simple-schema/1.5.3/web.browser/simple-schema-validation-new.js" />
|
||||
<root url="file://C:/Tools/.meteor/packages/aldeed_simple-schema/1.5.3/web.browser/simple-schema.js" />
|
||||
@@ -617,18 +640,55 @@
|
||||
<root url="file://C:/Tools/.meteor/packages/meteortoys_toykit/3.0.4/web.browser/lib/privateAPI.js" />
|
||||
<root url="file://C:/Tools/.meteor/packages/mdg_validation-error/0.2.0/web.browser/validation-error.js" />
|
||||
<root url="file://C:/Tools/.meteor/packages/meteortoys_toykit/3.0.4/web.browser/style/toykit.css" />
|
||||
<root url="file://C:/Tools/.meteor/packages/launch-screen/1.1.1/web.browser/mobile-launch-screen.js" />
|
||||
<root url="file://C:/Tools/.meteor/packages/launch-screen/1.1.1/web.browser/default-behavior.js" />
|
||||
<root url="file://C:/Tools/.meteor/packages/logging/1.1.17/web.browser/logging_cordova.js" />
|
||||
<root url="file://C:/Tools/.meteor/packages/meteortoys_toykit/3.0.4/web.browser/client/main.js" />
|
||||
<root url="file://C:/Tools/.meteor/packages/logging/1.1.17/web.browser/logging.js" />
|
||||
<root url="file://C:/Tools/.meteor/packages/logging/1.1.17/web.browser/logging_test.js" />
|
||||
<root url="file://C:/Tools/.meteor/packages/msavin_jetsetter/2.0.0/web.browser/style/JetSetter.css" />
|
||||
<root url="file://C:/Tools/.meteor/packages/msavin_jetsetter/2.0.0/web.browser/client/main.js" />
|
||||
<root url="file://C:/Tools/.meteor/packages/msavin_jetsetter/2.0.0/web.browser/client/functions.js" />
|
||||
<root url="file://C:/Tools/.meteor/packages/blaze/2.3.2/web.browser/materializer.js" />
|
||||
<root url="file://C:/Tools/.meteor/packages/blaze/2.3.2/web.browser/view.js" />
|
||||
<root url="file://C:/Tools/.meteor/packages/blaze/2.3.2/web.browser/dombackend.js" />
|
||||
<root url="file://C:/Tools/.meteor/packages/blaze/2.3.2/web.browser/backcompat.js" />
|
||||
<root url="file://C:/Tools/.meteor/packages/msavin_jetsetter/2.0.0/web.browser/client/row/main.js" />
|
||||
<root url="file://C:/Tools/.meteor/packages/blaze/2.3.2/web.browser/attrs.js" />
|
||||
<root url="file://C:/Tools/.meteor/packages/blaze/2.3.2/web.browser/exceptions.js" />
|
||||
<root url="file://C:/Tools/.meteor/packages/blaze/2.3.2/web.browser/template.js" />
|
||||
<root url="file://C:/Tools/.meteor/packages/blaze/2.3.2/web.browser/preamble.js" />
|
||||
<root url="file://C:/Tools/.meteor/packages/blaze/2.3.2/web.browser/builtins.js" />
|
||||
<root url="file://C:/Tools/.meteor/packages/msavin_jetsetter/2.0.0/web.browser/client/row_dict/main.js" />
|
||||
<root url="file://C:/Tools/.meteor/packages/blaze/2.3.2/web.browser/lookup.js" />
|
||||
<root url="file://C:/Tools/.meteor/packages/blaze/2.3.2/web.browser/events.js" />
|
||||
<root url="file://C:/Tools/.meteor/packages/msavin_jetsetter/2.0.0/web.browser/client/_component/component.js" />
|
||||
<root url="file://C:/Tools/.meteor/packages/check/1.2.5/web.browser/match.js" />
|
||||
<root url="file://C:/Tools/.meteor/packages/blaze/2.3.2/web.browser/domrange.js" />
|
||||
<root url="file://C:/Tools/.meteor/packages/msavin_jetsetter/2.0.0/web.browser/client/row_editor/JetSetter_editor.js" />
|
||||
<root url="file://C:/Tools/.meteor/packages/check/1.2.5/web.browser/match_test.js" />
|
||||
<root url="file://C:/Tools/.meteor/packages/check/1.2.5/web.browser/isPlainObject.js" />
|
||||
<root url="file://C:/Tools/.meteor/packages/ddp-client/1.3.4/web.browser/stream_client_sockjs.js" />
|
||||
<root url="file://C:/Tools/.meteor/packages/ddp-client/1.3.4/web.browser/stream_client_tests.js" />
|
||||
<root url="file://C:/Tools/.meteor/packages/msavin_jetsetter/2.0.0/web.browser/client/row_header/JetSetter_header.js" />
|
||||
<root url="file://C:/Tools/.meteor/packages/ddp-client/1.3.4/web.browser/stream_client_common.js" />
|
||||
<root url="file://C:/Tools/.meteor/packages/ddp-client/1.3.4/web.browser/sockjs-0.3.4.js" />
|
||||
<root url="file://C:/Tools/.meteor/packages/ddp-client/1.3.4/web.browser/random_stream_tests.js" />
|
||||
<root url="file://C:/Tools/.meteor/packages/ddp-client/1.3.4/web.browser/stub_stream.js" />
|
||||
<root url="file://C:/Tools/.meteor/packages/ddp-client/1.3.4/web.browser/client_convenience.js" />
|
||||
<root url="file://C:/Tools/.meteor/packages/ddp-client/1.3.4/web.browser/livedata_common.js" />
|
||||
<root url="file://C:/Tools/.meteor/packages/ddp-client/1.3.4/web.browser/livedata_tests.js" />
|
||||
<root url="file://C:/Tools/.meteor/packages/msavin_jetsetter/2.0.0/web.browser/client/dirtySession/main.js" />
|
||||
<root url="file://C:/Tools/.meteor/packages/ddp-client/1.3.4/web.browser/livedata_connection_tests.js" />
|
||||
<root url="file://C:/Tools/.meteor/packages/ddp-client/1.3.4/web.browser/livedata_test_service.js" />
|
||||
<root url="file://C:/Tools/.meteor/packages/ddp-client/1.3.4/web.browser/random_stream.js" />
|
||||
<root url="file://C:/Tools/.meteor/packages/msavin_jetsetter/2.0.0/web.browser/client/dirtySession/create/main.js" />
|
||||
<root url="file://C:/Tools/.meteor/packages/ddp-client/1.3.4/web.browser/stream_tests.js" />
|
||||
<root url="file://C:/Tools/.meteor/packages/ddp-client/1.3.4/web.browser/namespace.js" />
|
||||
<root url="file://C:/Tools/.meteor/packages/ddp-client/1.3.4/web.browser/livedata_connection.js" />
|
||||
<root url="file://C:/Tools/.meteor/packages/ddp-client/1.3.4/web.browser/stream_client_nodejs.js" />
|
||||
<root url="file://C:/Tools/.meteor/packages/msavin_jetsetter/2.0.0/web.browser/client/dirtySession/editor/main.js" />
|
||||
<root url="file://C:/Tools/.meteor/packages/ddp-client/1.3.4/web.browser/id_map.js" />
|
||||
<root url="file://C:/Tools/.meteor/packages/msavin_jetsetter/2.0.0/web.browser/client/dirtySession/session/main.js" />
|
||||
<root url="file://C:/Tools/.meteor/packages/msavin_mongol/2.0.1/web.browser/lib/common.js" />
|
||||
<root url="file://C:/Tools/.meteor/packages/msavin_mongol/2.0.1/web.browser/style/Mongol.css" />
|
||||
@@ -645,14 +705,8 @@
|
||||
<root url="file://C:/Tools/.meteor/packages/msavin_mongol/2.0.1/web.browser/client/row_account/account.js" />
|
||||
<root url="file://C:/Tools/.meteor/packages/msavin_mongol/2.0.1/web.browser/client/row_account/accountViewer.js" />
|
||||
<root url="file://C:/Tools/.meteor/packages/msavin_mongol/2.0.1/web.browser/client/doc_controls/docControls.js" />
|
||||
<root url="file://C:/Tools/.meteor/packages/http/1.1.8/web.browser/deprecated.js" />
|
||||
<root url="file://C:/Tools/.meteor/packages/http/1.1.8/web.browser/test_responder.js" />
|
||||
<root url="file://C:/Tools/.meteor/packages/msavin_mongol/2.0.1/web.browser/client/row_collection/collections.js" />
|
||||
<root url="file://C:/Tools/.meteor/packages/http/1.1.8/web.browser/httpcall_tests.js" />
|
||||
<root url="file://C:/Tools/.meteor/packages/http/1.1.8/web.browser/httpcall_common.js" />
|
||||
<root url="file://C:/Tools/.meteor/packages/http/1.1.8/web.browser/httpcall_server.js" />
|
||||
<root url="file://C:/Tools/.meteor/packages/msavin_mongol/2.0.1/web.browser/client/row_subscriptions/main.js" />
|
||||
<root url="file://C:/Tools/.meteor/packages/http/1.1.8/web.browser/httpcall_client.js" />
|
||||
<root url="file://C:/Tools/.meteor/packages/msavin_mongol/2.0.1/web.browser/client/row_collection_notFound/notFound.js" />
|
||||
<root url="file://C:/Tools/.meteor/packages/kadira_flow-router/2.12.1/web.browser/lib/router.js" />
|
||||
<root url="file://C:/Tools/.meteor/packages/ordered-dict/1.0.9/web.browser/ordered_dict.js" />
|
||||
@@ -668,38 +722,30 @@
|
||||
<root url="file://C:/Tools/.meteor/packages/kadira_flow-router/2.12.1/web.browser/client/route.js" />
|
||||
<root url="file://C:/Tools/.meteor/packages/kadira_flow-router/2.12.1/web.browser/test/client/_helpers.js" />
|
||||
<root url="file://C:/Tools/.meteor/packages/diff-sequence/1.0.7/web.browser/diff.js" />
|
||||
<root url="file://C:/Tools/.meteor/packages/modules/0.8.2/web.browser/process.js" />
|
||||
<root url="file://C:/Tools/.meteor/packages/kadira_flow-router/2.12.1/web.browser/test/client/triggers.js" />
|
||||
<root url="file://C:/Tools/.meteor/packages/modules/0.8.2/web.browser/install-packages.js" />
|
||||
<root url="file://C:/Tools/.meteor/packages/kadira_flow-router/2.12.1/web.browser/test/common/fast_render_route.js" />
|
||||
<root url="file://C:/Tools/.meteor/packages/modules/0.8.2/web.browser/css.js" />
|
||||
<root url="file://C:/Tools/.meteor/packages/ecmascript-runtime/0.3.15/web.browser/runtime-tests.js" />
|
||||
<root url="file://C:/Tools/.meteor/packages/modules/0.8.2/web.browser/client.js" />
|
||||
<root url="file://C:/Tools/.meteor/packages/ecmascript-runtime/0.3.15/web.browser/runtime.js" />
|
||||
<root url="file://C:/Tools/.meteor/packages/accounts-base/1.2.14/web.browser/client_main.js" />
|
||||
<root url="file://C:/Tools/.meteor/packages/accounts-base/1.2.14/web.browser/server_main.js" />
|
||||
<root url="file://C:/Tools/.meteor/packages/accounts-base/1.2.14/web.browser/server_tests.js" />
|
||||
<root url="file://C:/Tools/.meteor/packages/accounts-base/1.2.14/web.browser/url_client.js" />
|
||||
<root url="file://C:/Tools/.meteor/packages/accounts-base/1.2.14/web.browser/client_tests.js" />
|
||||
<root url="file://C:/Tools/.meteor/packages/accounts-base/1.2.14/web.browser/localstorage_token.js" />
|
||||
<root url="file://C:/Tools/.meteor/packages/accounts-base/1.2.14/web.browser/accounts_common.js" />
|
||||
<root url="file://C:/Tools/.meteor/packages/accounts-base/1.2.14/web.browser/url_server.js" />
|
||||
<root url="file://C:/Tools/.meteor/packages/accounts-base/1.2.14/web.browser/accounts_reconnect_tests.js" />
|
||||
<root url="file://C:/Tools/.meteor/packages/accounts-base/1.2.14/web.browser/accounts_tests.js" />
|
||||
<root url="file://C:/Tools/.meteor/packages/accounts-base/1.2.14/web.browser/accounts_url_tests.js" />
|
||||
<root url="file://C:/Tools/.meteor/packages/modules/0.8.2/web.browser/stubs.js" />
|
||||
<root url="file://C:/Tools/.meteor/packages/modules/0.8.2/web.browser/reify.js" />
|
||||
<root url="file://C:/Tools/.meteor/packages/modules/0.8.2/web.browser/server.js" />
|
||||
<root url="file://C:/Tools/.meteor/packages/modules/0.8.2/web.browser/buffer.js" />
|
||||
<root url="file://C:/Tools/.meteor/packages/random/1.0.10/web.browser/deprecated.js" />
|
||||
<root url="file://C:/Tools/.meteor/packages/accounts-base/1.2.14/web.browser/accounts_client.js" />
|
||||
<root url="file://C:/Tools/.meteor/packages/random/1.0.10/web.browser/random_tests.js" />
|
||||
<root url="file://C:/Tools/.meteor/packages/accounts-base/1.2.14/web.browser/accounts_rate_limit.js" />
|
||||
<root url="file://C:/Tools/.meteor/packages/random/1.0.10/web.browser/random.js" />
|
||||
<root url="file://C:/Tools/.meteor/packages/accounts-base/1.2.14/web.browser/accounts_server.js" />
|
||||
<root url="file://C:/Tools/.meteor/packages/rate-limit/1.0.6/web.browser/rate-limit.js" />
|
||||
<root url="file://C:/Tools/.meteor/packages/accounts-password/1.3.3/web.browser/password_tests_setup.js" />
|
||||
<root url="file://C:/Tools/.meteor/packages/accounts-password/1.3.3/web.browser/email_tests.js" />
|
||||
<root url="file://C:/Tools/.meteor/packages/accounts-password/1.3.3/web.browser/email_templates.js" />
|
||||
<root url="file://C:/Tools/.meteor/packages/http/1.2.12/web.browser/httpcall_tests.js" />
|
||||
<root url="file://C:/Tools/.meteor/packages/http/1.2.12/web.browser/test_responder.js" />
|
||||
<root url="file://C:/Tools/.meteor/packages/http/1.2.12/web.browser/deprecated.js" />
|
||||
<root url="file://C:/Tools/.meteor/packages/reactive-dict/1.1.8/web.browser/reactive-dict-tests.js" />
|
||||
<root url="file://C:/Tools/.meteor/packages/accounts-password/1.3.3/web.browser/email_tests_setup.js" />
|
||||
<root url="file://C:/Tools/.meteor/packages/http/1.2.12/web.browser/httpcall_client.js" />
|
||||
<root url="file://C:/Tools/.meteor/packages/reactive-dict/1.1.8/web.browser/reactive-dict.js" />
|
||||
<root url="file://C:/Tools/.meteor/packages/accounts-password/1.3.3/web.browser/password_client.js" />
|
||||
<root url="file://C:/Tools/.meteor/packages/http/1.2.12/web.browser/httpcall_server.js" />
|
||||
<root url="file://C:/Tools/.meteor/packages/http/1.2.12/web.browser/httpcall_common.js" />
|
||||
<root url="file://C:/Tools/.meteor/packages/reactive-dict/1.1.8/web.browser/migration.js" />
|
||||
<root url="file://C:/Tools/.meteor/packages/accounts-password/1.3.3/web.browser/password_tests.js" />
|
||||
<root url="file://C:/Tools/.meteor/packages/accounts-password/1.3.3/web.browser/password_server.js" />
|
||||
<root url="file://C:/Tools/.meteor/packages/juliancwirko_s-alert/3.2.0/web.browser/client/s-alert-collection.js" />
|
||||
<root url="file://C:/Tools/.meteor/packages/juliancwirko_s-alert/3.2.0/web.browser/client/s-alert-template.js" />
|
||||
<root url="file://C:/Tools/.meteor/packages/juliancwirko_s-alert/3.2.0/web.browser/client/s-alert-default.css" />
|
||||
@@ -711,23 +757,15 @@
|
||||
<root url="file://C:/Tools/.meteor/packages/allow-deny/1.0.5/web.browser/allow-deny-tests.js" />
|
||||
<root url="file://C:/Tools/.meteor/packages/srp/1.0.10/web.browser/srp.js" />
|
||||
<root url="file://C:/Tools/.meteor/packages/srp/1.0.10/web.browser/biginteger.js" />
|
||||
<root url="file://C:/Tools/.meteor/packages/tracker/1.1.1/web.browser/deprecated.js" />
|
||||
<root url="file://C:/Tools/.meteor/packages/tracker/1.1.1/web.browser/tracker.js" />
|
||||
<root url="file://C:/Tools/.meteor/packages/underscore/1.0.10/web.browser/underscore.js" />
|
||||
<root url="file://C:/Tools/.meteor/packages/underscore/1.0.10/web.browser/pre.js" />
|
||||
<root url="file://C:/Tools/.meteor/packages/underscore/1.0.10/web.browser/post.js" />
|
||||
<root url="file://C:/Tools/.meteor/packages/webapp/1.3.12/web.browser/webapp_client_tests.js" />
|
||||
<root url="file://C:/Tools/.meteor/packages/webapp/1.3.12/web.browser/webapp_tests.js" />
|
||||
<root url="file://C:/Tools/.meteor/packages/webapp/1.3.12/web.browser/webapp_cordova.js" />
|
||||
<root url="file://C:/Tools/.meteor/packages/webapp/1.3.12/web.browser/webapp_client.js" />
|
||||
<root url="file://C:/Tools/.meteor/packages/webapp/1.3.12/web.browser/webapp_server.js" />
|
||||
<root url="file://C:/Tools/.meteor/packages/modules-runtime/0.7.10/web.browser/modules-runtime.js" />
|
||||
<root url="file://C:/Tools/.meteor/packages/id-map/1.0.9/web.browser/id-map.js" />
|
||||
<root url="file://C:/Tools/.meteor/packages/jquery/1.11.10/web.browser/jquery.js" />
|
||||
<root url="file://C:/Tools/.meteor/packages/jquery/1.11.10/web.browser/main.js" />
|
||||
<root url="file://C:/Tools/.meteor/packages/localstorage/1.0.12/web.browser/localstorage.js" />
|
||||
<root url="file://C:/Tools/.meteor/packages/logging/1.1.16/web.browser/logging_test.js" />
|
||||
<root url="file://C:/Tools/.meteor/packages/logging/1.1.16/web.browser/logging.js" />
|
||||
<root url="file://C:/Tools/.meteor/packages/logging/1.1.16/web.browser/logging_cordova.js" />
|
||||
<root url="file://C:/Tools/.meteor/packages/modules-runtime/0.7.10/web.browser/.npm/package/node_modules/install/install.js" />
|
||||
<root url="file://C:/Tools/.meteor/packages/ejson/1.0.13/web.browser/stringify.js" />
|
||||
<root url="file://C:/Tools/.meteor/packages/ejson/1.0.13/web.browser/ejson.js" />
|
||||
<root url="file://C:/Tools/.meteor/packages/es5-shim/4.6.15/web.browser/export_globals.js" />
|
||||
@@ -735,23 +773,12 @@
|
||||
<root url="file://C:/Tools/.meteor/packages/es5-shim/4.6.15/web.browser/console.js" />
|
||||
<root url="file://C:/Tools/.meteor/packages/es5-shim/4.6.15/web.browser/client.js" />
|
||||
<root url="file://C:/Tools/.meteor/packages/es5-shim/4.6.15/web.browser/server.js" />
|
||||
<root url="file://C:/Tools/.meteor/packages/modules/0.7.7/web.browser/install-packages.js" />
|
||||
<root url="file://C:/Tools/.meteor/packages/modules/0.7.7/web.browser/process.js" />
|
||||
<root url="file://C:/Tools/.meteor/packages/modules/0.7.7/web.browser/stubs.js" />
|
||||
<root url="file://C:/Tools/.meteor/packages/modules/0.7.7/web.browser/client.js" />
|
||||
<root url="file://C:/Tools/.meteor/packages/modules/0.7.7/web.browser/css.js" />
|
||||
<root url="file://C:/Tools/.meteor/packages/modules/0.7.7/web.browser/buffer.js" />
|
||||
<root url="file://C:/Tools/.meteor/packages/modules/0.7.7/web.browser/server.js" />
|
||||
<root url="file://C:/Tools/.meteor/packages/geojson-utils/1.0.10/web.browser/geojson-utils.js" />
|
||||
<root url="file://C:/Tools/.meteor/packages/geojson-utils/1.0.10/web.browser/main.js" />
|
||||
<root url="file://C:/Tools/.meteor/packages/kadira_blaze-layout/2.3.0/web.browser/lib/client/namespace.js" />
|
||||
<root url="file://C:/Tools/.meteor/packages/kadira_blaze-layout/2.3.0/web.browser/lib/client/layout.js" />
|
||||
<root url="file://C:/Tools/.meteor/packages/raix_eventemitter/0.1.3/web.browser/packages/raix_eventemitter.js" />
|
||||
<root url="file://C:/Tools/.meteor/packages/modules-runtime/0.7.7/web.browser/modules-runtime.js" />
|
||||
<root url="file://C:/Tools/.meteor/packages/modules-runtime/0.7.7/web.browser/.npm/package/node_modules/install/install.js" />
|
||||
<root url="file://C:/Tools/.meteor/packages/mongo-id/1.0.6/web.browser/id.js" />
|
||||
<root url="file://C:/Tools/.meteor/packages/launch-screen/1.0.12/web.browser/default-behavior.js" />
|
||||
<root url="file://C:/Tools/.meteor/packages/launch-screen/1.0.12/web.browser/mobile-launch-screen.js" />
|
||||
<root url="file://C:/Tools/.meteor/packages/meteortoys_allthings/3.0.0/web.browser/main.js" />
|
||||
<root url="file://C:/Tools/.meteor/packages/meteortoys_authenticate/3.0.0/web.browser/client/main.css" />
|
||||
<root url="file://C:/Tools/.meteor/packages/meteortoys_authenticate/3.0.0/web.browser/client/main.js" />
|
||||
@@ -802,7 +829,6 @@
|
||||
<root url="file://C:/Tools/.meteor/packages/meteortoys_hotreload/3.0.0/web.browser/client/main.js" />
|
||||
<root url="file://C:/Tools/.meteor/packages/meteortoys_hotreload/3.0.0/web.browser/config/config.css" />
|
||||
<root url="file://C:/Tools/.meteor/packages/meteortoys_hotreload/3.0.0/web.browser/config/config.js" />
|
||||
<root url="file://C:/Tools/.meteor/packages/autoupdate/1.2.11/web.browser/autoupdate_client.js" />
|
||||
</CLASSES>
|
||||
<SOURCES />
|
||||
</library>
|
||||
|
||||
14574
.idea/libraries/meteor_packages_auto_import_npm.xml
generated
14574
.idea/libraries/meteor_packages_auto_import_npm.xml
generated
File diff suppressed because it is too large
Load Diff
2
.idea/markdown-navigator/profiles_settings.xml
generated
2
.idea/markdown-navigator/profiles_settings.xml
generated
@@ -1,3 +1,3 @@
|
||||
<component name="MarkdownNavigator.ProfileManager">
|
||||
<settings default="" />
|
||||
<settings default="" pdf-export="" />
|
||||
</component>
|
||||
916
.idea/workspace.xml
generated
916
.idea/workspace.xml
generated
File diff suppressed because it is too large
Load Diff
@@ -13,3 +13,4 @@ notices-for-facebook-graph-api-2
|
||||
1.3.0-split-minifiers-package
|
||||
1.4.0-remove-old-dev-bundle-link
|
||||
1.4.1-add-shell-server-package
|
||||
1.4.3-split-account-service-packages
|
||||
|
||||
@@ -6,24 +6,24 @@
|
||||
|
||||
meteor-base@1.0.4 # Packages every Meteor app needs to have
|
||||
mobile-experience@1.0.4 # Packages for a great mobile UX
|
||||
mongo@1.1.14 # The database Meteor supports right now
|
||||
mongo@1.1.17 # The database Meteor supports right now
|
||||
blaze-html-templates@1.0.4 # Compile .html files into Meteor Blaze views
|
||||
reactive-var@1.0.11 # Reactive variable for tracker
|
||||
reactive-dict@1.1.8 # ???
|
||||
jquery@1.11.10 # Helpful client-side library
|
||||
tracker@1.1.1 # Meteor's client-side reactive programming library
|
||||
tracker@1.1.3 # Meteor's client-side reactive programming library
|
||||
tomwasd:history-polyfill # Adds IE 8/9 support for HTML5 history.
|
||||
email@1.1.18 # Adds the Meteor/Email package for sending lost password emails
|
||||
email@1.2.1 # Adds the Meteor/Email package for sending lost password emails
|
||||
|
||||
standard-minifier-css@1.3.2 # CSS minifier run for production mode
|
||||
standard-minifier-js@1.2.1 # JS minifier run for production mode
|
||||
standard-minifier-css@1.3.4 # CSS minifier run for production mode
|
||||
standard-minifier-js@2.0.0 # JS minifier run for production mode
|
||||
es5-shim@4.6.15 # ECMAScript 5 compatibility for older browsers.
|
||||
poorvavyas:es6-shim
|
||||
ecmascript@0.6.1 # Enable ECMAScript2015+ syntax in app code
|
||||
ecmascript@0.7.3 # Enable ECMAScript2015+ syntax in app code
|
||||
|
||||
#accounts-ui
|
||||
#accounts-base
|
||||
accounts-password@1.3.3
|
||||
accounts-password@1.3.6
|
||||
useraccounts:core
|
||||
useraccounts:bootstrap
|
||||
useraccounts:flow-routing # Configures email flows. Used for AccountsTemplates class.
|
||||
@@ -34,12 +34,12 @@ arillo:flow-router-helpers # Provides various template helpers such as {{pathFo
|
||||
#tomwasd:flow-router-seo
|
||||
kadira:blaze-layout
|
||||
|
||||
shell-server@0.2.1 # ???
|
||||
shell-server@0.2.3 # ???
|
||||
meteortoys:allthings
|
||||
stylus@2.513.8
|
||||
stylus@2.513.9
|
||||
session@1.1.7
|
||||
##browser-policy # Adds support for specifying browser level security rules related to content and what's allowed to laod on the page.
|
||||
check@1.2.4 # Allows for checking the structure and types of arguments passed to Meteor methods and publications.
|
||||
check@1.2.5 # Allows for checking the structure and types of arguments passed to Meteor methods and publications.
|
||||
#audit-argument-checks # Used in combination with the Check package for checking the structure and types of arguments passed to Meteor methods and publications. Automatically alerts when a method or publication does not use a check() call.
|
||||
|
||||
aldeed:simple-schema@1.5.3
|
||||
@@ -59,4 +59,6 @@ momentjs:moment
|
||||
mizzao:bootboxjs # ???
|
||||
aldeed:template-extension
|
||||
juliancwirko:s-alert # Client error/alert handling
|
||||
jcbernack:reactive-aggregate
|
||||
jcbernack:reactive-aggregate # Allows us to create a new client collection (from the server) with the contents being an aggregate of server data. Note that aggregation can only be done on the server currently as mini-mongo does not support it.
|
||||
ostrio:logger
|
||||
ostrio:loggermongo
|
||||
|
||||
@@ -1 +1 @@
|
||||
METEOR@1.4.2.7
|
||||
METEOR@1.4.4.2
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
accounts-base@1.2.14
|
||||
accounts-password@1.3.3
|
||||
accounts-base@1.2.17
|
||||
accounts-password@1.3.6
|
||||
alanning:roles@1.2.15
|
||||
aldeed:collection2@2.10.0
|
||||
aldeed:collection2-core@1.2.0
|
||||
@@ -9,31 +9,31 @@ aldeed:simple-schema@1.5.3
|
||||
aldeed:template-extension@4.0.0
|
||||
allow-deny@1.0.5
|
||||
arillo:flow-router-helpers@0.5.2
|
||||
autoupdate@1.2.11
|
||||
babel-compiler@6.13.0
|
||||
autoupdate@1.3.12
|
||||
babel-compiler@6.18.2
|
||||
babel-runtime@1.0.1
|
||||
base64@1.0.10
|
||||
binary-heap@1.0.10
|
||||
blaze@2.1.9
|
||||
blaze@2.3.2
|
||||
blaze-html-templates@1.0.5
|
||||
blaze-tools@1.0.10
|
||||
boilerplate-generator@1.0.11
|
||||
caching-compiler@1.1.9
|
||||
caching-html-compiler@1.0.7
|
||||
callback-hook@1.0.10
|
||||
check@1.2.4
|
||||
check@1.2.5
|
||||
coffeescript@1.0.17
|
||||
ddp@1.2.5
|
||||
ddp-client@1.2.9
|
||||
ddp-client@1.3.4
|
||||
ddp-common@1.2.8
|
||||
ddp-rate-limiter@1.0.6
|
||||
ddp-server@1.2.10
|
||||
ddp-rate-limiter@1.0.7
|
||||
ddp-server@1.3.14
|
||||
deps@1.0.12
|
||||
diff-sequence@1.0.7
|
||||
ecmascript@0.6.1
|
||||
ecmascript@0.7.3
|
||||
ecmascript-runtime@0.3.15
|
||||
ejson@1.0.13
|
||||
email@1.1.18
|
||||
email@1.2.1
|
||||
es5-shim@4.6.15
|
||||
fastclick@1.0.13
|
||||
fortawesome:fontawesome@4.7.0
|
||||
@@ -41,19 +41,19 @@ geojson-utils@1.0.10
|
||||
hot-code-push@1.0.4
|
||||
html-tools@1.0.11
|
||||
htmljs@1.0.11
|
||||
http@1.1.8
|
||||
http@1.2.12
|
||||
id-map@1.0.9
|
||||
jcbernack:reactive-aggregate@0.7.0
|
||||
jquery@1.11.10
|
||||
juliancwirko:s-alert@3.2.0
|
||||
kadira:blaze-layout@2.3.0
|
||||
kadira:flow-router@2.12.1
|
||||
launch-screen@1.0.12
|
||||
launch-screen@1.1.1
|
||||
livedata@1.0.18
|
||||
localstorage@1.0.12
|
||||
logging@1.1.16
|
||||
logging@1.1.17
|
||||
mdg:validation-error@0.2.0
|
||||
meteor@1.6.0
|
||||
meteor@1.6.1
|
||||
meteor-base@1.0.4
|
||||
meteorhacks:aggregate@1.3.0
|
||||
meteorhacks:collection-utils@1.2.0
|
||||
@@ -72,29 +72,31 @@ meteortoys:status@3.0.0
|
||||
meteortoys:sub@3.0.0
|
||||
meteortoys:throttle@3.0.0
|
||||
meteortoys:toykit@3.0.4
|
||||
minifier-css@1.2.15
|
||||
minifier-js@1.2.15
|
||||
minimongo@1.0.19
|
||||
minifier-css@1.2.16
|
||||
minifier-js@2.0.0
|
||||
minimongo@1.0.23
|
||||
mizzao:bootboxjs@4.4.0
|
||||
mobile-experience@1.0.4
|
||||
mobile-status-bar@1.0.13
|
||||
modules@0.7.7
|
||||
modules-runtime@0.7.7
|
||||
momentjs:moment@2.17.1
|
||||
mongo@1.1.14
|
||||
mobile-status-bar@1.0.14
|
||||
modules@0.8.2
|
||||
modules-runtime@0.7.10
|
||||
momentjs:moment@2.18.1
|
||||
mongo@1.1.17
|
||||
mongo-id@1.0.6
|
||||
mongo-livedata@1.0.12
|
||||
msavin:jetsetter@2.0.0
|
||||
msavin:mongol@2.0.1
|
||||
npm-bcrypt@0.9.2
|
||||
npm-mongo@2.2.11_2
|
||||
observe-sequence@1.0.14
|
||||
npm-mongo@2.2.24
|
||||
observe-sequence@1.0.16
|
||||
ordered-dict@1.0.9
|
||||
ostrio:logger@1.1.2
|
||||
ostrio:loggermongo@1.1.3
|
||||
poorvavyas:es6-shim@0.21.1
|
||||
promise@0.8.8
|
||||
raix:eventemitter@0.1.3
|
||||
random@1.0.10
|
||||
rate-limit@1.0.6
|
||||
rate-limit@1.0.8
|
||||
reactive-dict@1.1.8
|
||||
reactive-var@1.0.11
|
||||
reload@1.1.11
|
||||
@@ -103,26 +105,26 @@ routepolicy@1.0.12
|
||||
service-configuration@1.0.11
|
||||
session@1.1.7
|
||||
sha@1.0.9
|
||||
shell-server@0.2.1
|
||||
shell-server@0.2.3
|
||||
softwarerero:accounts-t9n@1.3.6
|
||||
spacebars@1.0.13
|
||||
spacebars-compiler@1.0.13
|
||||
spacebars-compiler@1.1.1
|
||||
srp@1.0.10
|
||||
standard-minifier-css@1.3.2
|
||||
standard-minifier-js@1.2.1
|
||||
stylus@2.513.8
|
||||
standard-minifier-css@1.3.4
|
||||
standard-minifier-js@2.0.0
|
||||
stylus@2.513.9
|
||||
templating@1.2.15
|
||||
templating-compiler@1.2.15
|
||||
templating-runtime@1.2.15
|
||||
templating-tools@1.0.5
|
||||
templating-tools@1.1.1
|
||||
tomwasd:history-polyfill@0.0.1
|
||||
tracker@1.1.1
|
||||
tracker@1.1.3
|
||||
ui@1.0.12
|
||||
underscore@1.0.10
|
||||
url@1.0.11
|
||||
url@1.1.0
|
||||
useraccounts:bootstrap@1.14.2
|
||||
useraccounts:core@1.14.2
|
||||
useraccounts:flow-routing@1.14.2
|
||||
webapp@1.3.12
|
||||
webapp@1.3.15
|
||||
webapp-hashing@1.0.9
|
||||
zimme:active-route@2.3.2
|
||||
|
||||
@@ -168,11 +168,13 @@ body
|
||||
@import "../imports/ui/layouts/Full.import.styl"
|
||||
|
||||
@import "../imports/ui/UserManagement.import.styl"
|
||||
@import "../imports/ui/MiscManagement.import.styl"
|
||||
@import "../imports/ui/Measures.import.styl"
|
||||
@import "../imports/ui/Venues.import.styl"
|
||||
@import "../imports/ui/Products.import.styl"
|
||||
@import "../imports/ui/ProductTags.import.styl"
|
||||
@import "../imports/ui/Sales.import.styl"
|
||||
@import "../imports/ui/SaleDuplicates.import.styl"
|
||||
@import "../imports/ui/SalesSheets.import.styl"
|
||||
@import "../imports/ui/SalesSheetForm.import.styl"
|
||||
@import "../imports/ui/SalesSheetEditor.import.styl"
|
||||
|
||||
44
imports/api/Logs.js
Normal file
44
imports/api/Logs.js
Normal file
@@ -0,0 +1,44 @@
|
||||
import { Meteor } from 'meteor/meteor';
|
||||
import { Mongo } from 'meteor/mongo';
|
||||
|
||||
// The logging tool is primarily for managing administrative functions such that administrators can view the app logs and issue commands that might generate administrative logging.
|
||||
|
||||
Meteor.log = new Logger();
|
||||
Logs = new Mongo.Collection('Logs');
|
||||
|
||||
let logMongo = new LoggerMongo(Meteor.log, {
|
||||
collection: Logs
|
||||
});
|
||||
logMongo.enable({
|
||||
enable: true,
|
||||
client: false, /* Client calls are not executed on the client. */
|
||||
server: true /* Calls from the client will be executed on the server. */
|
||||
});
|
||||
|
||||
if(Meteor.isServer) {
|
||||
Logs._ensureIndex({'date': 1}, {expireAfterSeconds: 86400});
|
||||
Meteor.publish('logs', function() {
|
||||
return Logs.find({}, {limit: 10000});
|
||||
});
|
||||
Meteor.methods({
|
||||
clearLogs: function() {
|
||||
return Logs.remove({}, function(err) {
|
||||
if(err) Meteor.log.error(err);
|
||||
});
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
Logs.allow({
|
||||
insert: () => false,
|
||||
update: () => false,
|
||||
remove: () => false
|
||||
});
|
||||
|
||||
Logs.deny({
|
||||
insert: () => true,
|
||||
update: () => true,
|
||||
remove: () => true
|
||||
});
|
||||
|
||||
export default Logs;
|
||||
@@ -3,6 +3,13 @@ import { Mongo } from 'meteor/mongo';
|
||||
import { check } from 'meteor/check';
|
||||
import {SimpleSchema} from 'meteor/aldeed:simple-schema';
|
||||
|
||||
/**
|
||||
* Notes:
|
||||
* The Product object has a prices field which is an object whose fields names are Measure ID's. Each field value (for each Measure ID) is an object that has a 'price', 'effectiveDate', and 'previousPrice'.
|
||||
* The effectiveDate field stores the date as a number in the format YYYYMMDD. Converting this number into a local date is done with moment(sale.date.toString(), "YYYYMMDD").toDate(), and converting it to a number from a date can be accomplished with ~~(moment(date).format("YYYYMMDD")), where the ~~ is a bitwise not and converts a string to a number quickly and reliably.
|
||||
* Because the structure of the Product object is so complicated, the normal checking that is done by the framework cannot be used.
|
||||
*/
|
||||
|
||||
Products = new Mongo.Collection('Products');
|
||||
|
||||
const ProductsSchema = new SimpleSchema({
|
||||
@@ -237,7 +244,7 @@ if(Meteor.isServer) {
|
||||
check(measureId, String);
|
||||
check(price, Number);
|
||||
if(setPrevious) check(setPrevious, Boolean);
|
||||
if(effectiveDate) check(effectiveDate, Date);
|
||||
if(effectiveDate) check(effectiveDate, Number); // TODO: Check that the format is YYYYMMDD
|
||||
|
||||
if(Roles.userIsInRole(this.userId, [Meteor.UserRoles.ROLE_UPDATE])) {
|
||||
let products = Products.find({_id: {$in: productIds}}, {fields: {prices: 1}}).fetch();
|
||||
|
||||
@@ -3,10 +3,15 @@ import { Mongo } from 'meteor/mongo';
|
||||
import { check } from 'meteor/check';
|
||||
import {SimpleSchema} from 'meteor/aldeed:simple-schema';
|
||||
|
||||
/**
|
||||
* Notes:
|
||||
* The Sale object has a date field which stores the date as a number in the format YYYYMMDD. Converting this number into a local date is done with moment(sale.date.toString(), "YYYYMMDD").toDate(), and converting it to a number from a date can be accomplished with ~~(moment(date).format("YYYYMMDD")), where the ~~ is a bitwise not and converts a string to a number quickly and reliably.
|
||||
*/
|
||||
|
||||
Sales = new Mongo.Collection('Sales');
|
||||
let SalesSchema = new SimpleSchema({
|
||||
date: {
|
||||
type: Date,
|
||||
type: Number, // A number in the format of YYYYMMDD to allow for searching using greater and less than, and to prevent timezones from messing everything up.
|
||||
label: "Date",
|
||||
optional: false,
|
||||
index: 1
|
||||
@@ -58,6 +63,19 @@ let SalesSchema = new SimpleSchema({
|
||||
trim: false,
|
||||
optional: true
|
||||
},
|
||||
ignoreDuplicates: {
|
||||
type: Boolean,
|
||||
optional: true
|
||||
},
|
||||
isDuplicateOf: {
|
||||
type: String,
|
||||
trim: false,
|
||||
optional: true
|
||||
},
|
||||
duplicateCount: {
|
||||
type: Number,
|
||||
optional: true
|
||||
},
|
||||
createdAt: {
|
||||
type: Date,
|
||||
label: "Created On",
|
||||
@@ -71,14 +89,22 @@ if(Meteor.isServer) {
|
||||
let dbQuery = [];
|
||||
|
||||
if(query) {
|
||||
// _.each(_.keys(query), function(key) {
|
||||
// if(_.isObject(query[key])) dbQuery[key] = query[key];
|
||||
// else if(_.isNumber(query[key])) dbQuery[key] = query[key];
|
||||
// else dbQuery[key] = {$regex: RegExp.escape(query[key]), $options: 'i'};
|
||||
// });
|
||||
|
||||
_.each(_.keys(query), function(key) {
|
||||
if(_.isObject(query[key])) dbQuery.push({[key]: query[key]});
|
||||
//if(_.isObject(query[key])) dbQuery.push({[key]: query[key]});
|
||||
if(_.isObject(query[key])) {
|
||||
if(query[key].type === 'dateRange') {
|
||||
if(query[key].start && query[key].end)
|
||||
dbQuery.push({[key]: {$gte: query[key].start, $lte: query[key].end}});
|
||||
else if(query[key].start)
|
||||
dbQuery.push({[key]: {$gte: query[key].start}});
|
||||
else if(query[key].end)
|
||||
dbQuery.push({[key]: {$lte: query[key].end}});
|
||||
// Do nothing if a start and/or end are not provided.
|
||||
}
|
||||
else {
|
||||
dbQuery.push({[key]: query[key]});
|
||||
}
|
||||
}
|
||||
else if(_.isNumber(query[key])) dbQuery.push({[key]: query[key]});
|
||||
else {
|
||||
let searchValue = query[key];
|
||||
@@ -97,6 +123,65 @@ if(Meteor.isServer) {
|
||||
dbQuery = dbQuery.length > 0 ? {$and: dbQuery} : {};
|
||||
return Meteor.collections.Sales.find(dbQuery, {limit: limit, sort, skip: skipCount});
|
||||
});
|
||||
Meteor.publish('duplicateSales', function(query, includeIgnoredDuplicates) {
|
||||
// Start with the duplicate count needing to be greater than zero, and with duplicates marked as ignored not included.
|
||||
let dbQuery = [{duplicateCount: {$gt: 0}}];
|
||||
|
||||
// If we should include ignored duplicates than add it to the query as a requirement.
|
||||
if(!includeIgnoredDuplicates) {
|
||||
dbQuery.push({$or: [{ignoreDuplicates: {$exists: false}}, {ignoreDuplicates: false}]});
|
||||
}
|
||||
|
||||
//if(query) {
|
||||
// // Add each query requirement sent by the client.
|
||||
// _.each(_.keys(query), function(key) {
|
||||
// //if(_.isObject(query[key])) dbQuery.push({[key]: query[key]});
|
||||
// if(_.isObject(query[key])) {
|
||||
// if(query[key].type === 'dateRange') {
|
||||
// if(query[key].start && query[key].end)
|
||||
// dbQuery.push({[key]: {$gte: query[key].start, $lte: query[key].end}});
|
||||
// else if(query[key].start)
|
||||
// dbQuery.push({[key]: {$gte: query[key].start}});
|
||||
// else if(query[key].end)
|
||||
// dbQuery.push({[key]: {$lte: query[key].end}});
|
||||
// // Do nothing if a start and/or end are not provided.
|
||||
// }
|
||||
// else {
|
||||
// dbQuery.push({[key]: query[key]});
|
||||
// }
|
||||
// }
|
||||
// else if(_.isNumber(query[key])) dbQuery.push({[key]: query[key]});
|
||||
// else {
|
||||
// let searchValue = query[key];
|
||||
// let searches = searchValue && searchValue.length > 0 ? searchValue.split(/\s+/) : undefined;
|
||||
//
|
||||
// for(let search of searches) {
|
||||
// dbQuery.push({[key]: {$regex: '\\b' + search, $options: 'i'}});
|
||||
// }
|
||||
// }
|
||||
// });
|
||||
//}
|
||||
|
||||
// Wrap the array of requirements with an $and, or remove the single requirement from the array (if there is only a single requirement).
|
||||
if(dbQuery.length === 1) dbQuery = dbQuery[0];
|
||||
else dbQuery = {$and: dbQuery};
|
||||
|
||||
// Find all Sale objects marked as having at least one duplicate.
|
||||
//return Meteor.collections.Sales.find(dbQuery);
|
||||
|
||||
let pipeline = [
|
||||
{$match: dbQuery},
|
||||
{$lookup: {from: "Products", localField: "productId", foreignField: "_id", as: "product"}},
|
||||
{$lookup: {from: "Measures", localField: "measureId", foreignField: "_id", as: "measure"}},
|
||||
{$lookup: {from: "Venues", localField: "venueId", foreignField: "_id", as: "venue"}},
|
||||
{$unwind: "$product"},
|
||||
{$unwind: "$measure"},
|
||||
{$unwind: "$venue"},
|
||||
{$project: {_id: 1, date: 1, amount: 1, price: 1, venueId: 1, productId: 1, measureId: 1, duplicateCount: 1, ignoreDuplicates: 1, 'productName': '$product.name', 'measureName': '$measure.name', 'venueName': '$venue.name'}}
|
||||
];
|
||||
|
||||
ReactiveAggregate(this, Sales, pipeline, {clientCollection: 'duplicateSales'});
|
||||
});
|
||||
// time: expects either undefined, 'weekly', or 'monthly'
|
||||
// options: expects either undefined, 'markets', or 'types'
|
||||
Meteor.publish('salesTotals', function(time, options) {
|
||||
@@ -185,7 +270,7 @@ if(Meteor.isServer) {
|
||||
},
|
||||
insertSale: function(sale) {
|
||||
check(sale, {
|
||||
date: Date,
|
||||
date: Number, // TODO: Check that the format is YYYYMMDD
|
||||
amount: Match.Where(function(x) {
|
||||
check(x, Number);
|
||||
return x > 0;
|
||||
@@ -199,7 +284,7 @@ if(Meteor.isServer) {
|
||||
venueId: String,
|
||||
comment: Match.Optional(String)
|
||||
});
|
||||
//TODO: Check the structure of sale. Use: check(sale, {name: String, ...});
|
||||
|
||||
sale.createdAt = new Date();
|
||||
|
||||
if(Roles.userIsInRole(this.userId, [Meteor.UserRoles.ROLE_UPDATE])) {
|
||||
@@ -242,7 +327,7 @@ if(Meteor.isServer) {
|
||||
},
|
||||
updateSale: function(id, date, venueId, price, amount) {
|
||||
check(id, String);
|
||||
check(date, Date);
|
||||
check(date, Number); // TODO: Check that the format is YYYYMMDD
|
||||
check(venueId, String);
|
||||
check(price, Number);
|
||||
check(amount, Number);
|
||||
@@ -252,7 +337,152 @@ if(Meteor.isServer) {
|
||||
if(err) console.log(err);
|
||||
}, {bypassCollection2: true});
|
||||
}
|
||||
else throw new Meteor.Error(403, "Not authorized.");
|
||||
},
|
||||
countSales: function() {
|
||||
if(Roles.userIsInRole(this.userId, [Meteor.UserRoles.ROLE_UPDATE])) {
|
||||
return Sales.find({}).count();
|
||||
}
|
||||
else throw new Meteor.Error(403, "Not authorized.");
|
||||
},
|
||||
removeDuplicateSales: function(id, justOne) { // Expects the id of the sale that has duplicates and an optional boolean flag (justOne) indicating whether just one duplicate should be removed, or all of them (default).
|
||||
if(Roles.userIsInRole(this.userId, [Meteor.UserRoles.ROLE_UPDATE])) {
|
||||
// Remove either one or all of the duplicates of the Sale with the given ID.
|
||||
if(justOne) {
|
||||
let sale = Sales.findOne({isDuplicateOf: id});
|
||||
|
||||
if(sale) {
|
||||
Sales.remove({_id: sale._id});
|
||||
}
|
||||
}
|
||||
else {
|
||||
Sales.remove({isDuplicateOf: id});
|
||||
}
|
||||
}
|
||||
},
|
||||
ignoreDuplicateSales: function(id) { // Expects the id of the sale that has duplicates. Will mark this sale and all duplicates to be ignored in future duplicate checks.
|
||||
if(Roles.userIsInRole(this.userId, [Meteor.UserRoles.ROLE_UPDATE])) {
|
||||
// Mark to ignore duplicates for this Sale (id) and all its duplicates, and clear any duplicate counts and references.
|
||||
//Sales.update({$or: [{_id: id}, {isDuplicateOf: id}]}, {$set: {ignoreDuplicates: true}, $unset: {isDuplicateOf: "", duplicateCount: ""}});
|
||||
|
||||
// Mark to ignore duplicates for this Sale (id). We will leave the duplicate count and references so that the duplicates will show in a query if we want to revisit those marked as ignored.
|
||||
Sales.update({$or: [{_id: id}, {isDuplicateOf: id}]}, {$set: {ignoreDuplicates: true}});
|
||||
}
|
||||
},
|
||||
markDuplicateSales: function() {
|
||||
if(Roles.userIsInRole(this.userId, [Meteor.UserRoles.ROLE_UPDATE])) {
|
||||
let sales = Sales.find({}, {sort: {date: 1, venueId: 1, productId: 1, price: 1, amount: 1, measureId: 1, createdAt: 1}}).fetch();
|
||||
|
||||
// Iterate over all the sales looking for sales that have duplicates.
|
||||
// Since the sales are sorted by sale date, venueId, productId, price, amount, and measureId which all must be identical to be considered a possible duplicate sale, we only have to check subsequent sales until a non-duplicate is found.
|
||||
for(let i = 0; i < sales.length;) {
|
||||
let sale = sales[i];
|
||||
|
||||
// If this is marked as a duplicate of another sale, but we got to this point in the loop then the sale it is a duplicate of must have been removed or marked to ignore duplicates.
|
||||
if(sale.isDuplicateOf) {
|
||||
delete sale.isDuplicateOf;
|
||||
Sales.update(sale._id, {$unset: {isDuplicateOf: ""}}, function(err, id) {
|
||||
if(err) console.log(err);
|
||||
}, {bypassCollection2: true});
|
||||
}
|
||||
|
||||
//Skip this one if it is marked to ignore duplicates.
|
||||
//if(sale.ignoreDuplicates) {
|
||||
// i++;
|
||||
//}
|
||||
//else {
|
||||
let keepChecking = true;
|
||||
let duplicateCount = 0;
|
||||
|
||||
// Keep checking subsequent sales until a non-duplicate is found. Ignore anything marked to ignore duplicates. Count the number of duplicates and also mark duplicates to reference the Sale we are currently checking.
|
||||
while(keepChecking) {
|
||||
let checkSale = sales[++i]; // Increment the index to the next Sale object.
|
||||
|
||||
// Since it is possible to exceed the length of the array, we will check for an undefined next sale and set the flag to stop checking if one is found.
|
||||
if(checkSale && sale.productId === checkSale.productId && sale.venueId === checkSale.venueId && sale.price === checkSale.price && sale.amount === checkSale.amount && sale.measureId === checkSale.measureId) {
|
||||
// Mark the next sale as a duplicate of the currently examined sale.
|
||||
checkSale.isDuplicateOf = sale._id;
|
||||
Sales.update(checkSale._id, {$set: {isDuplicateOf: checkSale.isDuplicateOf}}, function(err, id) {
|
||||
if(err) console.log(err);
|
||||
}, {bypassCollection2: true});
|
||||
duplicateCount++;
|
||||
}
|
||||
else {
|
||||
// Stop checking.
|
||||
keepChecking = false;
|
||||
}
|
||||
}
|
||||
|
||||
// Make sure the currently checked sale has a proper duplicate count before moving on in the search.
|
||||
if(duplicateCount > 0) {
|
||||
if(sale.duplicateCount !== duplicateCount) {
|
||||
// Update the sale's duplicate count.
|
||||
sale.duplicateCount = duplicateCount;
|
||||
Sales.update(sale._id, {$set: {duplicateCount: sale.duplicateCount}}, function(err, id) {
|
||||
if(err) console.log(err);
|
||||
}, {bypassCollection2: true});
|
||||
}
|
||||
}
|
||||
else if(sale.duplicateCount) {
|
||||
// Remove the duplicate count if it is set.
|
||||
delete sale.duplicateCount;
|
||||
Sales.update(sale._id, {$unset: {duplicateCount: ""}}, function(err, id) {
|
||||
if(err) console.log(err);
|
||||
}, {bypassCollection2: true});
|
||||
}
|
||||
//}
|
||||
}
|
||||
}
|
||||
else throw new Meteor.Error(403, "Not authorized.");
|
||||
}
|
||||
/*
|
||||
countDuplicateSales: function() {
|
||||
if(Roles.userIsInRole(this.userId, [Meteor.UserRoles.ROLE_MANAGE])) {
|
||||
let sales = Sales.find({}, {sort: {date: 1, venueId: 1, productId: 1, price: 1, amount: 1, measureId: 1}}).fetch();
|
||||
let salesByDate = {};
|
||||
let lastDate = undefined;
|
||||
let lastDateCollection;
|
||||
let duplicates = [];
|
||||
|
||||
//Create a map of Sale arrays by sale date.
|
||||
for(let i = 0; i < sales.length; i++) {
|
||||
let date = sales[i].date;
|
||||
|
||||
if(date) {
|
||||
if(date === lastDate) {
|
||||
lastDateCollection.push(sales[i]);
|
||||
}
|
||||
else {
|
||||
lastDate = date;
|
||||
salesByDate[date] = lastDateCollection = [sales[i]];
|
||||
}
|
||||
}
|
||||
else {
|
||||
Meteor.log.error("Found a sale without a date!!!");
|
||||
}
|
||||
}
|
||||
|
||||
for(let date in salesByDate) {
|
||||
let sales = salesByDate[date];
|
||||
|
||||
for(let i = 0; i < sales.length - 1; i++) {
|
||||
if(sales[i].productId === sales[i+1].productId && sales[i].venueId === sales[i+1].venueId && sales[i].price === sales[i+1].price && sales[i].amount === sales[i+1].amount && sales[i].measureId === sales[i+1].amount) {
|
||||
duplicates.push([sales[i], sales[i+1]]);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
return duplicates;
|
||||
}
|
||||
else throw new Meteor.Error(403, "Not authorized.");
|
||||
},
|
||||
deleteDuplicateSales: function() {
|
||||
if(Roles.userIsInRole(this.userId, [Meteor.UserRoles.ROLE_MANAGE])) {
|
||||
|
||||
}
|
||||
else throw new Meteor.Error(403, "Not authorized.");
|
||||
}
|
||||
*/
|
||||
});
|
||||
}
|
||||
|
||||
|
||||
@@ -4,11 +4,12 @@ import Products from "./Product.js";
|
||||
import ProductTags from "./ProductTag.js";
|
||||
import Sales from "./Sale.js";
|
||||
import SalesSheets from "./SalesSheet.js";
|
||||
import Logs from "./Logs.js";
|
||||
import Users from "./User.js";
|
||||
import UserRoles from "./Roles.js";
|
||||
|
||||
//Save the collections in the Meteor.collections property for easy access without name conflicts.
|
||||
Meteor.collections = {Measures, Venues, Products, ProductTags, Sales, SalesSheets, Users, UserRoles};
|
||||
Meteor.collections = {Measures, Venues, Products, ProductTags, Sales, SalesSheets, Logs, Users, UserRoles};
|
||||
|
||||
//If this is the server then setup the default admin user if none exist.
|
||||
if(Meteor.isServer) {
|
||||
|
||||
@@ -36,6 +36,13 @@ pri.route('/userManagement', {
|
||||
BlazeLayout.render('Body', {content: 'UserManagement'});
|
||||
}
|
||||
});
|
||||
pri.route('/miscManagement', {
|
||||
name: 'MiscManagement',
|
||||
action: function(params, queryParams) {
|
||||
require("/imports/ui/MiscManagement.js");
|
||||
BlazeLayout.render('Body', {content: 'MiscManagement'});
|
||||
}
|
||||
});
|
||||
pri.route('/sales', {
|
||||
name: 'Sales',
|
||||
action: function(params, queryParams) {
|
||||
@@ -44,6 +51,14 @@ pri.route('/sales', {
|
||||
BlazeLayout.render('Body', {content: 'Sales'});
|
||||
}
|
||||
});
|
||||
pri.route('/saleDuplicates', {
|
||||
name: 'SaleDuplicates',
|
||||
action: function(params, queryParams) {
|
||||
require("/imports/ui/SaleDuplicates.js");
|
||||
|
||||
BlazeLayout.render('Body', {content: 'SaleDuplicates'});
|
||||
}
|
||||
});
|
||||
pri.route('/salesSheets', {
|
||||
name: 'SalesSheets',
|
||||
action: function(params, queryParams) {
|
||||
|
||||
@@ -1,5 +1,6 @@
|
||||
<template name="Measures">
|
||||
<div id="measures">
|
||||
{{#if Template.subscriptionsReady}}
|
||||
<div class="tableControls">
|
||||
<span class="controlLabel">Show Hidden</span>
|
||||
<div class="toggleShowHidden checkbox checkbox-slider--b-flat">
|
||||
@@ -12,6 +13,8 @@
|
||||
<span class="nextMeasures noselect {{#if disableNext}}disabled{{/if}}">Next <i class="fa fa-long-arrow-right" aria-hidden="true"></i></span>
|
||||
</span>
|
||||
</div>
|
||||
<div class="listRow">
|
||||
<div class="listCell">
|
||||
<div class="tableContainer">
|
||||
<table class="table table-striped table-hover">
|
||||
<thead>
|
||||
@@ -33,6 +36,10 @@
|
||||
</table>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
{{else}}
|
||||
{{/if}}
|
||||
</div>
|
||||
</template>
|
||||
|
||||
<template name="Measure">
|
||||
|
||||
23
imports/ui/Measures.import.styl
vendored
23
imports/ui/Measures.import.styl
vendored
@@ -1,6 +1,9 @@
|
||||
#measures
|
||||
margin: 20px 20px
|
||||
display: table
|
||||
content-box: border-box
|
||||
padding: 10px 20px
|
||||
height: 100%
|
||||
width: 100%
|
||||
text-align: left
|
||||
|
||||
.tableControls
|
||||
@@ -18,12 +21,24 @@
|
||||
top: -4px
|
||||
display: inline-block
|
||||
|
||||
.tableContainer
|
||||
.listRow
|
||||
display: table-row
|
||||
.listCell
|
||||
display: table-cell
|
||||
position: relative
|
||||
height: 100%
|
||||
width: 100%
|
||||
margin-bottom: 20px
|
||||
.tableContainer
|
||||
position: absolute
|
||||
top: 0
|
||||
bottom: 0
|
||||
left: 0
|
||||
right: 0
|
||||
width: auto
|
||||
height: auto
|
||||
border: 0
|
||||
font-size: 12.5px
|
||||
|
||||
overflow-y: auto
|
||||
table
|
||||
table-layout: fixed
|
||||
width: 100%
|
||||
|
||||
27
imports/ui/MiscManagement.html
Normal file
27
imports/ui/MiscManagement.html
Normal file
@@ -0,0 +1,27 @@
|
||||
<template name="MiscManagement">
|
||||
<div id="miscManagement">
|
||||
{{#if Template.subscriptionsReady}}
|
||||
<div class="controls">
|
||||
<a href="javascript:" class="cleanDates">Clean Dates (removes time components)</a><br/>
|
||||
<!--<a href="javascript:" class="importMissingSalesData">Import Sales Data (JSON)</a><br/>-->
|
||||
<a href="javascript:" class="clearLogs">Clear Logs</a><br/>
|
||||
<a href="javascript:" class="countDuplicateSales">Count Duplicate Sales</a><br/>
|
||||
<a href="javascript:" class="deleteDuplicateSales">Delete Duplicate Sales</a><br/>
|
||||
<div class="logCount">{{logCount}}</div>
|
||||
</div>
|
||||
<div class="pageContentRow">
|
||||
<div class="pageContentCell">
|
||||
<div class="pageContentContainer">
|
||||
<ul class="logs">
|
||||
{{#each logs}}
|
||||
<li>{{message}}</li>
|
||||
{{/each}}
|
||||
</ul>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
{{else}}
|
||||
{{/if}}
|
||||
</div>
|
||||
</template>
|
||||
35
imports/ui/MiscManagement.import.styl
vendored
Normal file
35
imports/ui/MiscManagement.import.styl
vendored
Normal file
@@ -0,0 +1,35 @@
|
||||
#miscManagement
|
||||
display: table
|
||||
content-box: border-box
|
||||
padding: 10px 20px
|
||||
height: 100%
|
||||
width: 100%
|
||||
text-align: left
|
||||
|
||||
.controls
|
||||
text-align: right
|
||||
margin-right: 20px
|
||||
|
||||
.pageContentRow
|
||||
display: table-row
|
||||
.pageContentCell
|
||||
display: table-cell
|
||||
position: relative
|
||||
height: 100%
|
||||
width: 100%
|
||||
.pageContentContainer
|
||||
position: absolute
|
||||
top: 0
|
||||
bottom: 0
|
||||
left: 0
|
||||
right: 0
|
||||
width: auto
|
||||
height: auto
|
||||
border: 0
|
||||
font-size: 12.5px
|
||||
overflow-y: auto
|
||||
.logs
|
||||
list-style-type: none
|
||||
height: 100%
|
||||
:hover
|
||||
background: #CCC
|
||||
76
imports/ui/MiscManagement.js
Normal file
76
imports/ui/MiscManagement.js
Normal file
@@ -0,0 +1,76 @@
|
||||
|
||||
import './MiscManagement.html';
|
||||
import '/imports/util/selectize/selectize.js'
|
||||
|
||||
let PREFIX = "MiscManagement";
|
||||
|
||||
Meteor.subscribe("logs");
|
||||
Meteor.subscribe("products");
|
||||
Meteor.subscribe("venues");
|
||||
Meteor.subscribe("measures");
|
||||
|
||||
Template.MiscManagement.helpers({
|
||||
logs: function() {
|
||||
return Meteor.collections.Logs.find({}, {sort: {date: 1}});
|
||||
},
|
||||
logCount: function() {
|
||||
return Meteor.collections.Logs.find({}).count();
|
||||
}
|
||||
});
|
||||
Template.MiscManagement.events({
|
||||
"click .cleanDates": function(event, template) {
|
||||
Meteor.call("cleanDates");
|
||||
},
|
||||
"click .importMissingSalesData": function(event, template) {
|
||||
console.log("Calling importMissingSales");
|
||||
Meteor.call("importMissingSales");
|
||||
},
|
||||
"click .clearLogs": function(event, template) {
|
||||
Meteor.call("clearLogs");
|
||||
},
|
||||
"click .countDuplicateSales": function(event, template) {
|
||||
Meteor.log.info("Starting to count duplicates...");
|
||||
|
||||
let products = Meteor.collections.Products.find({}).fetch();
|
||||
let venues = Meteor.collections.Venues.find({}).fetch();
|
||||
let measures = Meteor.collections.Measures.find({}).fetch();
|
||||
let productNameMap = {};
|
||||
let venueNameMap = {};
|
||||
let measureNameMap = {};
|
||||
|
||||
for(let i = 0; i < products.length; i++) {
|
||||
productNameMap[products[i]._id] = products[i].name;
|
||||
}
|
||||
for(let i = 0; i < venues.length; i++) {
|
||||
venueNameMap[venues[i]._id] = venues[i].name;
|
||||
}
|
||||
for(let i = 0; i < measures.length; i++) {
|
||||
measureNameMap[measures[i]._id] = measures[i].name;
|
||||
}
|
||||
|
||||
Meteor.call("countSales", function(err, result) {
|
||||
if(err) Meteor.log.error(err);
|
||||
else {
|
||||
let salesCount = result;
|
||||
|
||||
Meteor.call("countDuplicateSales", function(err, result) {
|
||||
if(err) Meteor.log.error(err);
|
||||
else {
|
||||
Meteor.log.info("Duplicate Sales Counted: " + result.length + " out of " + salesCount + " total sales.");
|
||||
|
||||
for(let i = 0; i < result.length; i++) {
|
||||
let sale = result[i][0];
|
||||
Meteor.log.info("\tdate: " + sale.date + " product: " + productNameMap[sale.productId] + " venue: " + venueNameMap[sale.venueId] + " measure" + measureNameMap[sale.measureId] + " price: " + sale.price.toFixed(2) + " amount: " + sale.amount + " id: " + sale._id);
|
||||
sale = result[i][1];
|
||||
Meteor.log.info("\tdate: " + sale.date + " product: " + productNameMap[sale.productId] + " venue: " + venueNameMap[sale.venueId] + " measure" + measureNameMap[sale.measureId] + " price: " + sale.price.toFixed(2) + " amount: " + sale.amount + " id: " + sale._id);
|
||||
Meteor.log.info(" -- ");
|
||||
}
|
||||
}
|
||||
});
|
||||
}
|
||||
});
|
||||
},
|
||||
"click .deleteDuplicateSales": function(event, template) {
|
||||
Meteor.call("deleteDuplicateSales");
|
||||
}
|
||||
});
|
||||
@@ -1,5 +1,6 @@
|
||||
<template name="Pricing">
|
||||
<div id="pricing">
|
||||
{{#if Template.subscriptionsReady}}
|
||||
<div class="controls">
|
||||
<div class="measureGroup" style="vertical-align: bottom">
|
||||
<label class='controlLabel'>Selected Measure: </label>
|
||||
@@ -32,6 +33,8 @@
|
||||
<span class="nextProducts noselect {{#if disableNext}}disabled{{/if}}">Next <i class="fa fa-long-arrow-right" aria-hidden="true"></i></span>
|
||||
</span>
|
||||
</div>
|
||||
<div class="listRow">
|
||||
<div class="listCell">
|
||||
<div class="tableContainer">
|
||||
<table class="table table-striped table-hover">
|
||||
<thead>
|
||||
@@ -50,6 +53,10 @@
|
||||
</table>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
{{else}}
|
||||
{{/if}}
|
||||
</div>
|
||||
</template>
|
||||
|
||||
<template name="PricingForProduct">
|
||||
|
||||
22
imports/ui/Pricing.import.styl
vendored
22
imports/ui/Pricing.import.styl
vendored
@@ -1,6 +1,9 @@
|
||||
#pricing
|
||||
margin: 20px 20px
|
||||
display: table
|
||||
content-box: border-box
|
||||
padding: 10px 20px
|
||||
height: 100%
|
||||
width: 100%
|
||||
text-align: left
|
||||
|
||||
.controls
|
||||
@@ -60,11 +63,24 @@
|
||||
.resetButton
|
||||
margin-left: 20px
|
||||
|
||||
.tableContainer
|
||||
.listRow
|
||||
display: table-row
|
||||
.listCell
|
||||
display: table-cell
|
||||
position: relative
|
||||
height: 100%
|
||||
width: 100%
|
||||
margin-bottom: 20px
|
||||
.tableContainer
|
||||
position: absolute
|
||||
top: 0
|
||||
bottom: 0
|
||||
left: 0
|
||||
right: 0
|
||||
width: auto
|
||||
height: auto
|
||||
border: 0
|
||||
font-size: 12.5px
|
||||
overflow-y: auto
|
||||
table
|
||||
table-layout: fixed
|
||||
width: 100%
|
||||
|
||||
@@ -1,6 +1,13 @@
|
||||
|
||||
import './Pricing.html';
|
||||
|
||||
/**
|
||||
* Notes:
|
||||
* The Product object has a prices field which is an object whose fields names are Measure ID's. Each field value (for each Measure ID) is an object that has a 'price', 'effectiveDate', and 'previousPrice'.
|
||||
* The effectiveDate field stores the date as a number in the format YYYYMMDD. Converting this number into a local date is done with moment(sale.date.toString(), "YYYYMMDD").toDate(), and converting it to a number from a date can be accomplished with ~~(moment(date).format("YYYYMMDD")), where the ~~ is a bitwise not and converts a string to a number quickly and reliably.
|
||||
* Because the structure of the Product object is so complicated, the normal checking that is done by the framework cannot be used.
|
||||
*/
|
||||
|
||||
let QUERY_LIMIT = 20;
|
||||
let PREFIX = "Pricing.";
|
||||
|
||||
@@ -70,7 +77,7 @@ Template.Pricing.events({
|
||||
Meteor.call("clearProductPrice", productIds, measureId)
|
||||
}
|
||||
else {
|
||||
date = moment(date ? date : new Date().toDateInputValue(), "YYYY-MM-DD").toDate();
|
||||
date = ~~(moment(date ? date : new Date().toDateInputValue(), "YYYY-MM-DD").format("YYYYMMDD")); // The ~~ is a bitwise not which converts the string into a number in the format of YYYYMMDD for storage in the database; to avoid timezone issues.
|
||||
setPrevious = setPrevious == true || setPrevious == 'on' || setPrevious == "true" || setPrevious == "yes";
|
||||
|
||||
if(setPrevious == true && !date) {
|
||||
@@ -117,9 +124,8 @@ Template.PricingForProduct.helpers({
|
||||
},
|
||||
priceChangeDate: function() {
|
||||
let measureId = Session.get(PREFIX + "selectedMeasure");
|
||||
let date = this.prices && measureId && this.prices[measureId] && this.prices[measureId].effectiveDate ? this.prices[measureId].effectiveDate : undefined;
|
||||
|
||||
return date ? moment(date).format("MM/DD/YYYY (w)") : "-";
|
||||
return this.prices && measureId && this.prices[measureId] && this.prices[measureId].effectiveDate ? moment(this.prices[measureId].effectiveDate.toString(), "YYYYMMDD").format("MM/DD/YYYY (w)") : "-";
|
||||
},
|
||||
rowClass: function() {
|
||||
return this.deactivated ? "deactivated" : "";
|
||||
|
||||
@@ -26,6 +26,8 @@
|
||||
</span>
|
||||
</div>
|
||||
</div>
|
||||
<div class="listRow">
|
||||
<div class="listCell">
|
||||
<div class="tableContainer">
|
||||
<table class="table table-striped table-hover">
|
||||
<thead>
|
||||
@@ -41,6 +43,8 @@
|
||||
</tbody>
|
||||
</table>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
{{else}}
|
||||
{{/if}}
|
||||
</div>
|
||||
|
||||
22
imports/ui/ProductTags.import.styl
vendored
22
imports/ui/ProductTags.import.styl
vendored
@@ -1,6 +1,9 @@
|
||||
#productTags
|
||||
margin: 20px 20px
|
||||
display: table
|
||||
content-box: border-box
|
||||
padding: 10px 20px
|
||||
height: 100%
|
||||
width: 100%
|
||||
text-align: left
|
||||
|
||||
.tagInfo
|
||||
@@ -107,11 +110,24 @@
|
||||
display: table-cell
|
||||
width: 240px
|
||||
vertical-align: bottom;
|
||||
.tableContainer
|
||||
.listRow
|
||||
display: table-row
|
||||
.listCell
|
||||
display: table-cell
|
||||
position: relative
|
||||
height: 100%
|
||||
width: 100%
|
||||
margin-bottom: 20px
|
||||
.tableContainer
|
||||
position: absolute
|
||||
top: 0
|
||||
bottom: 0
|
||||
left: 0
|
||||
right: 0
|
||||
width: auto
|
||||
height: auto
|
||||
border: 0
|
||||
font-size: 12.5px
|
||||
overflow-y: auto
|
||||
table
|
||||
table-layout: fixed
|
||||
width: 100%
|
||||
|
||||
@@ -1,5 +1,6 @@
|
||||
<template name="Products">
|
||||
<div id="products">
|
||||
{{#if Template.subscriptionsReady}}
|
||||
<div class="tableControls">
|
||||
<span class="controlLabel">Show Hidden</span>
|
||||
<div class="toggleShowHidden checkbox checkbox-slider--b-flat">
|
||||
@@ -12,6 +13,8 @@
|
||||
<span class="nextProducts noselect {{#if disableNext}}disabled{{/if}}">Next <i class="fa fa-long-arrow-right" aria-hidden="true"></i></span>
|
||||
</span>
|
||||
</div>
|
||||
<div class="listRow">
|
||||
<div class="listCell">
|
||||
<div class="tableContainer">
|
||||
<table class="table table-striped table-hover">
|
||||
<thead>
|
||||
@@ -35,6 +38,10 @@
|
||||
</table>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
{{else}}
|
||||
{{/if}}
|
||||
</div>
|
||||
</template>
|
||||
|
||||
<template name="Product">
|
||||
|
||||
25
imports/ui/Products.import.styl
vendored
25
imports/ui/Products.import.styl
vendored
@@ -1,6 +1,9 @@
|
||||
#products
|
||||
margin: 20px 20px
|
||||
display: table
|
||||
content-box: border-box
|
||||
padding: 10px 20px
|
||||
height: 100%
|
||||
width: 100%
|
||||
text-align: left
|
||||
|
||||
.tableControls
|
||||
@@ -18,12 +21,24 @@
|
||||
top: -4px
|
||||
display: inline-block
|
||||
|
||||
.tableContainer
|
||||
.listRow
|
||||
display: table-row
|
||||
.listCell
|
||||
display: table-cell
|
||||
position: relative
|
||||
height: 100%
|
||||
width: 100%
|
||||
margin-bottom: 20px
|
||||
.tableContainer
|
||||
position: absolute
|
||||
top: 0
|
||||
bottom: 0
|
||||
left: 0
|
||||
right: 0
|
||||
width: auto
|
||||
height: auto
|
||||
border: 0
|
||||
font-size: 12.5px
|
||||
|
||||
overflow-y: auto
|
||||
table
|
||||
table-layout: fixed
|
||||
width: 100%
|
||||
@@ -61,7 +76,7 @@
|
||||
display: inline-block
|
||||
.fa-times-circle
|
||||
display: none
|
||||
.newProductButton.active
|
||||
.newProductButton:active
|
||||
background-color: #fb557b
|
||||
color: black
|
||||
.fa-times-circle
|
||||
|
||||
61
imports/ui/SaleDuplicates.html
Normal file
61
imports/ui/SaleDuplicates.html
Normal file
@@ -0,0 +1,61 @@
|
||||
<template name="SaleDuplicates">
|
||||
<div id="saleDuplicates">
|
||||
<div class="controls">
|
||||
<div class="pageControls">
|
||||
<input class="duplicateScan btn btn-info" type="button" value="Scan For Duplicates"/>
|
||||
</div>
|
||||
<div class="tableControls">
|
||||
<span class="controlLabel">Show Hidden</span>
|
||||
<div class="toggleShowHidden checkbox checkbox-slider--b-flat">
|
||||
<label>
|
||||
<input type="checkbox" name="showHidden" {{showHidden}}><span></span>
|
||||
</label>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="listRow">
|
||||
<div class="listCell">
|
||||
<div class="tableContainer">
|
||||
<table class="table table-striped table-hover">
|
||||
<thead>
|
||||
<tr>
|
||||
<th class="amount noselect nonclickable">Duplicates</th>
|
||||
<th class="amount noselect nonclickable">Amount</th>
|
||||
<th class="product noselect nonclickable">Product <br/>{{>SaleDuplicateSearch columnName='productName' width='90%'}}</th>
|
||||
<th class="price noselect nonclickable">Price</th>
|
||||
<th class="measure noselect nonclickable">Measure</th>
|
||||
<th class="saleDate noselect nonclickable">Date (Week)</th>
|
||||
<th class="createdDate noselect nonclickable">Created On</th>
|
||||
<th class="venue noselect nonclickable">Venue</th>
|
||||
<th class="actions noselect nonclickable">Actions</th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
{{#each sales}}
|
||||
{{> SaleDuplicate}}
|
||||
{{/each}}
|
||||
</tbody>
|
||||
</table>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</template>
|
||||
|
||||
<template name="SaleDuplicate">
|
||||
<tr class="{{duplicateClasses}}">
|
||||
<td class="tdLarge noselect nonclickable center">{{duplicateCount}}</td>
|
||||
<td class="tdLarge noselect nonclickable center">{{amount}}</td>
|
||||
<td class="tdLarge noselect nonclickable left">{{productName}}</td>
|
||||
<td class="tdLarge noselect nonclickable left">{{formatPrice price}}{{#if showTotalPrice amount}} ({{formatTotalPrice price amount}}){{/if}}</td>
|
||||
<td class="tdLarge noselect nonclickable left">{{measureName}}</td> <!-- measureName measureId -->
|
||||
<td class="tdLarge noselect nonclickable left">{{formatDateAndWeek date}}</td>
|
||||
<td class="tdLarge noselect nonclickable left">{{formatDateTime createdAt}}</td>
|
||||
<td class="tdLarge noselect nonclickable left">{{venueName}}</td>
|
||||
<td class="tdLarge noselect left actions"><i class="fa fa-check fa-lg clickable ignoreDuplicatesButton {{#if ignoreDuplicates}}hidden{{/if}}" title="Ignore All Duplicates" aria-hidden="true"></i> <i class="fa fa-minus-circle fa-lg clickable removeAllDuplicatesButton" title="Remove All Duplicates" aria-hidden="true"></i> <span class="clickable removeOneDuplicateButton" title="Remove One Duplicate"><i class="fa fa-minus-circle fa-lg" aria-hidden="true"></i><sup>1</sup></span></td>
|
||||
</tr>
|
||||
</template>
|
||||
|
||||
<template name="SaleDuplicateSearch">
|
||||
<input type="text" class="searchInput" placeholder="Filter..." value="{{searchValue}}" style="padding-right: 10px; width: {{width}}"/>
|
||||
</template>
|
||||
149
imports/ui/SaleDuplicates.import.styl
vendored
Normal file
149
imports/ui/SaleDuplicates.import.styl
vendored
Normal file
@@ -0,0 +1,149 @@
|
||||
#saleDuplicates
|
||||
display: table
|
||||
content-box: border-box
|
||||
padding: 10px 20px
|
||||
height: 100%
|
||||
width: 100%
|
||||
text-align: left
|
||||
.controls
|
||||
text-align: left
|
||||
display: table
|
||||
width: 100%
|
||||
.pageControls
|
||||
padding: 4px 8px
|
||||
margin: 4px 8px
|
||||
display: table-cell
|
||||
width: 240px
|
||||
.tableControls
|
||||
text-align: right
|
||||
padding: 4px 8px
|
||||
margin: 4px 12px 4px 8px
|
||||
display: table-cell
|
||||
.toggleShowHidden
|
||||
margin: 0 40px 0 0
|
||||
position: relative
|
||||
top: -4px
|
||||
display: inline-block
|
||||
.listRow
|
||||
display: table-row
|
||||
.listCell
|
||||
display: table-cell
|
||||
position: relative
|
||||
height: 100%
|
||||
width: 100%
|
||||
.tableContainer
|
||||
position: absolute
|
||||
top: 0
|
||||
bottom: 0
|
||||
left: 0
|
||||
right: 0
|
||||
width: auto
|
||||
height: auto
|
||||
//width: 100%
|
||||
//margin-bottom: 20px
|
||||
border: 0
|
||||
font-size: 12.5px
|
||||
overflow-y: auto
|
||||
//height: 100%
|
||||
label
|
||||
font-size: 10px
|
||||
font-weight: 800
|
||||
table
|
||||
table-layout: fixed
|
||||
min-width: 100%
|
||||
.saleRemove
|
||||
color: red
|
||||
margin-left: 8px
|
||||
.saleEdit
|
||||
color: darkblue
|
||||
margin-right: 8px
|
||||
.editorApply
|
||||
color: green
|
||||
.editorCancel
|
||||
color: red
|
||||
thead
|
||||
> tr
|
||||
> th.amount
|
||||
width: 90px
|
||||
> th.product
|
||||
width: auto
|
||||
min-width: 140px
|
||||
> th.price
|
||||
width: 140px
|
||||
> th.measure
|
||||
width: 100px
|
||||
> th.saleDate
|
||||
width: 140px
|
||||
> th.createdDate
|
||||
width: 100px
|
||||
> th.venue
|
||||
width: 160px
|
||||
> th.actions
|
||||
width: 90px
|
||||
tbody
|
||||
> tr
|
||||
> td.actions
|
||||
.ignoreDuplicatesButton
|
||||
padding: 0 2px
|
||||
color: green
|
||||
.ignoreDuplicatesButton:hover
|
||||
color: #00bb00
|
||||
.ignoreDuplicatesButton:active
|
||||
color: black
|
||||
.ignoreDuplicatesButton.hidden
|
||||
visibility: hidden
|
||||
.removeAllDuplicatesButton, .removeOneDuplicateButton
|
||||
padding: 0 2px
|
||||
color: #a00000
|
||||
.removeAllDuplicatesButton:hover, .removeOneDuplicateButton:hover
|
||||
color: red
|
||||
.removeAllDuplicatesButton:active, .removeOneDuplicateButton:active
|
||||
color: black
|
||||
> tr.hidden:nth-child(odd)
|
||||
background-color: #f4f0ab
|
||||
> tr.hidden:nth-child(even)
|
||||
background-color: #fff6c0
|
||||
> tr.hidden:hover
|
||||
background-color: #ded
|
||||
|
||||
.editComment
|
||||
color: grey
|
||||
.hasComment
|
||||
color: black
|
||||
.actionEdit
|
||||
margin-right: 6px
|
||||
color: #44F
|
||||
.saleEditor
|
||||
.heading
|
||||
font-size: 2em
|
||||
font-family: verdana, arial, helvetica, sans-serif
|
||||
text-transform: uppercase
|
||||
font-weight: 800
|
||||
margin: 6px 0 14px 0
|
||||
.priceContainer
|
||||
display: table
|
||||
width: 100%
|
||||
.price
|
||||
display: table-cell
|
||||
padding-right: 10px
|
||||
.priceButtons
|
||||
display: table-cell
|
||||
width: 1.5em
|
||||
.setDefaultPrice
|
||||
font-size: 1.5em
|
||||
padding: 6px 8px
|
||||
margin-left: 8px
|
||||
border-radius: 8px
|
||||
.setDefaultPrice:hover
|
||||
text-shadow: 0px 0px 6px #00b900
|
||||
.setDefaultPrice:active
|
||||
text-shadow: 0px 0px 6px grey
|
||||
.insertSaleForm
|
||||
.form-group, label
|
||||
text-align: left
|
||||
.formGroupHeading
|
||||
font-size: 1.6em
|
||||
font-family: "Arial Black", "Arial Bold", Gadget, sans-serif
|
||||
font-style: normal
|
||||
font-variant: normal
|
||||
font-weight: 500
|
||||
212
imports/ui/SaleDuplicates.js
Normal file
212
imports/ui/SaleDuplicates.js
Normal file
@@ -0,0 +1,212 @@
|
||||
|
||||
import './SaleDuplicates.html';
|
||||
import '/imports/util/selectize/selectize.js';
|
||||
import swal from 'sweetalert2';
|
||||
|
||||
/**
|
||||
* Notes:
|
||||
* The Sale object has a date field which stores the date as a number in the format YYYYMMDD. Converting this number into a local date is done with moment(sale.date.toString(), "YYYYMMDD").toDate(), and converting it to a number from a date can be accomplished with ~~(moment(date).format("YYYYMMDD")), where the ~~ is a bitwise not and converts a string to a number quickly and reliably.
|
||||
*/
|
||||
|
||||
let PREFIX = "SaleDuplicates.";
|
||||
let DuplicateSales = new Meteor.Collection("duplicateSales");
|
||||
let duplicateSalesSubscription;
|
||||
|
||||
Template.SaleDuplicates.onCreated(function() {
|
||||
let template = Template.instance();
|
||||
|
||||
//Tracker.autorun(function() {
|
||||
// let query = _.clone(Session.get(PREFIX + 'searchQuery'));
|
||||
//
|
||||
// duplicateSalesSubscription = template.subscribe("duplicateSales", query, Session.get(PREFIX + "showHidden"));
|
||||
//});
|
||||
|
||||
Tracker.autorun(function() {
|
||||
duplicateSalesSubscription = template.subscribe("duplicateSales", null, Session.get(PREFIX + "showHidden"));
|
||||
});
|
||||
});
|
||||
Template.SaleDuplicates.onDestroyed(function() {
|
||||
if(duplicateSalesSubscription) {
|
||||
duplicateSalesSubscription.stop();
|
||||
}
|
||||
});
|
||||
Template.SaleDuplicates.helpers({
|
||||
sales: function() {
|
||||
let dbQuery = [];
|
||||
let query = _.clone(Session.get(PREFIX + 'searchQuery'));
|
||||
|
||||
if(query) {
|
||||
// Add each query requirement sent by the client.
|
||||
_.each(_.keys(query), function(key) {
|
||||
//if(_.isObject(query[key])) dbQuery.push({[key]: query[key]});
|
||||
if(_.isObject(query[key])) {
|
||||
if(query[key].type === 'dateRange') {
|
||||
if(query[key].start && query[key].end)
|
||||
dbQuery.push({[key]: {$gte: query[key].start, $lte: query[key].end}});
|
||||
else if(query[key].start)
|
||||
dbQuery.push({[key]: {$gte: query[key].start}});
|
||||
else if(query[key].end)
|
||||
dbQuery.push({[key]: {$lte: query[key].end}});
|
||||
// Do nothing if a start and/or end are not provided.
|
||||
}
|
||||
else {
|
||||
dbQuery.push({[key]: query[key]});
|
||||
}
|
||||
}
|
||||
else if(_.isNumber(query[key])) dbQuery.push({[key]: query[key]});
|
||||
else {
|
||||
let searchValue = query[key];
|
||||
let searches = searchValue && searchValue.length > 0 ? searchValue.split(/\s+/) : undefined;
|
||||
|
||||
for(let search of searches) {
|
||||
dbQuery.push({[key]: {$regex: '\\b' + search, $options: 'i'}});
|
||||
}
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
if(dbQuery.length > 1) dbQuery = {$and: dbQuery};
|
||||
else if(dbQuery.length == 1) dbQuery = dbQuery[0];
|
||||
else dbQuery = {};
|
||||
|
||||
return DuplicateSales.find(dbQuery, {sort: {date: -1, productName: 1}});
|
||||
},
|
||||
showHidden: function() {
|
||||
return Session.get(PREFIX + "showHidden") ? "checked": "";
|
||||
}
|
||||
});
|
||||
Template.SaleDuplicates.events({
|
||||
'click .duplicateScan': function(event, template) {
|
||||
Meteor.call("markDuplicateSales", function(err, result) {
|
||||
Meteor.log.error(err);
|
||||
});
|
||||
},
|
||||
'change input[name="showHidden"]': function(event, template) {
|
||||
//console.log("changed " + $(event.target).prop('checked'));
|
||||
Session.set(PREFIX + "showHidden", $(event.target).prop('checked'));
|
||||
}
|
||||
});
|
||||
|
||||
Template.SaleDuplicate.helpers({
|
||||
//measureName: function(id) {
|
||||
// return Meteor.collections.Measures.findOne({_id: id}, {fields: {name: 1}}).name;
|
||||
//},
|
||||
//venueName: function(id) {
|
||||
// return Meteor.collections.Venues.findOne({_id: id}, {fields: {name: 1}}).name;
|
||||
//},
|
||||
//productName: function(id) {
|
||||
// return Meteor.collections.Products.findOne({_id: id}, {fields: {name: 1}}).name;
|
||||
//},
|
||||
formatDateAndWeek: function(date) {
|
||||
return moment.utc(date.toString(), "YYYYMMDD").utc().format("MM/DD/YYYY (w)");
|
||||
},
|
||||
formatDateTime: function(date) {
|
||||
return moment.utc(date).format("MM/DD/YYYY");
|
||||
},
|
||||
formatPrice: function(price) {
|
||||
return price.toLocaleString("en-US", {style: 'currency', currency: 'USD', minimumFractionDigits: 2});
|
||||
},
|
||||
formatTotalPrice: function(price, amount) {
|
||||
return (price * amount).toLocaleString("en-US", {style: 'currency', currency: 'USD', minimumFractionDigits: 2});
|
||||
},
|
||||
showTotalPrice: function(amount) {
|
||||
return amount > 1;
|
||||
},
|
||||
duplicateClasses: function() {
|
||||
return this.ignoreDuplicates ? "hidden" : "";
|
||||
}
|
||||
});
|
||||
Template.SaleDuplicate.events({
|
||||
"click .ignoreDuplicatesButton": function(event, template) {
|
||||
Meteor.call('ignoreDuplicateSales', this._id, function(err, result) {
|
||||
if(err) sAlert.error(err);
|
||||
//else sAlert.success("Duplicates Ignored");
|
||||
});
|
||||
},
|
||||
"click .removeAllDuplicatesButton": function(event, template) {
|
||||
let _this = this;
|
||||
swal({
|
||||
title: "Are you sure?",
|
||||
text: "This will permanently remove ALL duplicate sales.",
|
||||
type: "question",
|
||||
showCancelButton: true,
|
||||
confirmButtonColor: "#DD6B55",
|
||||
confirmButtonText: "Yes"
|
||||
}).then(
|
||||
function(isConfirm) {
|
||||
if(isConfirm) {
|
||||
Meteor.call('removeDuplicateSales', _this._id, function(err, result) {
|
||||
if(err) sAlert.error(err);
|
||||
//else sAlert.success("Duplicates Removed");
|
||||
});
|
||||
}
|
||||
},
|
||||
function(dismiss) {
|
||||
}
|
||||
);
|
||||
},
|
||||
"click .removeOneDuplicateButton": function(event, template) {
|
||||
let _this = this;
|
||||
swal({
|
||||
title: "Are you sure?",
|
||||
text: "This will permanently remove ONE duplicate sale.",
|
||||
type: "question",
|
||||
showCancelButton: true,
|
||||
confirmButtonColor: "#DD6B55",
|
||||
confirmButtonText: "Yes"
|
||||
}).then(
|
||||
function(isConfirm) {
|
||||
if(isConfirm) {
|
||||
Meteor.call('removeDuplicateSales', _this._id, true, function(err, result) {
|
||||
if(err) sAlert.error(err);
|
||||
//else sAlert.success("Duplicates Removed");
|
||||
});
|
||||
}
|
||||
},
|
||||
function(dismiss) {
|
||||
}
|
||||
);
|
||||
}
|
||||
});
|
||||
|
||||
Template.SaleDuplicateSearch.helpers({
|
||||
searchValue: function() {
|
||||
let searchFields = Session.get(PREFIX + 'searchFields');
|
||||
|
||||
return (searchFields && searchFields[this.columnName]) ? searchFields[this.columnName] : '';
|
||||
}
|
||||
});
|
||||
Template.SaleDuplicateSearch.events({
|
||||
"keyup .searchInput": _.throttle(function(event, template) {
|
||||
let searchQuery = Session.get(PREFIX + 'searchQuery') || {};
|
||||
let searchFields = Session.get(PREFIX + 'searchFields') || {};
|
||||
let searchValue = template.$(event.target).val();
|
||||
|
||||
if(searchValue) {
|
||||
if(this.number) searchValue = parseFloat(searchValue);
|
||||
|
||||
// A collection name will be provided if there is a related table of data that will contain the text provided and will map to an ID that is then searched for in the current table of data.
|
||||
// For example we are displaying a table of Sales which has the ID of a Product. The Product table has a Name field and the search box searches for Product Names. The ID's of the Products found should be used to filter the Sales by Product ID.
|
||||
if(this.collection) {
|
||||
let ids = Meteor.collections[this.collection].find({[this.collectionQueryColumnName]: {$regex: searchValue, $options: 'i'}}, {fields: {[this.collectionResultColumnName]: 1}}).fetch();
|
||||
|
||||
//Convert the ids to an array of ids instead of an array of objects containing an id.
|
||||
for(let i = 0; i < ids.length; i++) {ids[i] = ids[i]._id;}
|
||||
searchQuery[this.columnName] = {$in: ids};
|
||||
searchFields[this.columnName] = searchValue;
|
||||
}
|
||||
else {
|
||||
searchFields[this.columnName] = searchQuery[this.columnName] = searchValue;
|
||||
}
|
||||
}
|
||||
else {
|
||||
//Remove columns from the search query whose values are empty so we don't bother the database with them.
|
||||
delete searchQuery[this.columnName];
|
||||
delete searchFields[this.columnName];
|
||||
}
|
||||
|
||||
Session.set(PREFIX + 'searchQuery', searchQuery);
|
||||
Session.set(PREFIX + 'searchFields', searchFields);
|
||||
Session.set(PREFIX + 'skipCount', 0); //Reset the paging of the results.
|
||||
}, 500)
|
||||
});
|
||||
@@ -1,8 +1,12 @@
|
||||
<template name="Sales">
|
||||
<div id="salesMain">
|
||||
{{#if Template.subscriptionsReady}}
|
||||
<div class="controls">
|
||||
<div class="pageControls">
|
||||
<input type="button" class="showDuplicates btn btn-info" style="margin-right: 30px" value="Duplicate Analysis"/>
|
||||
</div>
|
||||
<div class="tableControls">
|
||||
<select name="sortSelect">
|
||||
<select name="sortSelect" class="form-control" style="width: auto; display: inline;">
|
||||
<option value="date" selected>Sale Date</option>
|
||||
<option value="createdAt">Data Entry Date</option>
|
||||
</select>
|
||||
@@ -11,8 +15,9 @@
|
||||
<span class="nextButton noselect {{#if disableNext}}disabled{{/if}}">Next <i class="fa fa-long-arrow-right" aria-hidden="true"></i></span>
|
||||
</div>
|
||||
</div>
|
||||
<div class="salesListRow">
|
||||
<div class="salesListCell">
|
||||
</div>
|
||||
<div class="listRow">
|
||||
<div class="listCell">
|
||||
<div class="tableContainer">
|
||||
<table class="table table-striped table-hover">
|
||||
<thead>
|
||||
@@ -21,7 +26,7 @@
|
||||
<th class="product noselect nonclickable">Product <br/>{{>SaleSearch columnName='productId' collectionQueryColumnName='name' collection='Products' collectionResultColumnName='_id' width='90%'}}</th>
|
||||
<th class="price noselect nonclickable">Price {{>SaleSearch columnName='price' width='90%'}}</th>
|
||||
<th class="measure noselect nonclickable">Measure {{>SaleSearch columnName='measureId' collectionQueryColumnName='name' collection='Measures' collectionResultColumnName='_id' width='90%'}}</th>
|
||||
<th class="saleDate noselect nonclickable">Date (Week)</th>
|
||||
<th class="saleDate noselect nonclickable">Date (Week) {{>DateRangeSearch columnName='date' width='90%'}}</th>
|
||||
<th class="createdDate noselect nonclickable">Created On</th>
|
||||
<th class="venue noselect nonclickable">Venue {{>SaleSearch columnName='venueId' collectionQueryColumnName='name' collection='Venues' collectionResultColumnName='_id' width='90%'}}</th>
|
||||
<th class="actions noselect nonclickable">Actions <span class="newSaleButton btn btn-success" title="Create Sale"><i class="fa fa-plus-circle" aria-hidden="true"></i><i class="fa fa-times-circle" aria-hidden="true"></i></span> <i class="fa fa-commenting fa-lg showOnlyComments clickable" title="Show Commented Sales" aria-hidden="true"></i></th>
|
||||
@@ -55,7 +60,7 @@
|
||||
<td class="tdLarge noselect nonclickable left">{{formatPrice price}}{{#if showTotalPrice amount}} ({{formatTotalPrice price amount}}){{/if}}</td>
|
||||
<td class="tdLarge noselect nonclickable left">{{measureName measureId}}</td>
|
||||
<td class="tdLarge noselect nonclickable left">{{formatDateAndWeek date}}</td>
|
||||
<td class="tdLarge noselect nonclickable left">{{formatDate createdAt}}</td>
|
||||
<td class="tdLarge noselect nonclickable left">{{formatDateTime createdAt}}</td>
|
||||
<td class="tdLarge noselect nonclickable left">{{venueName venueId}}</td>
|
||||
<td class="tdLarge noselect left"><i class="fa fa-pencil-square-o fa-lg actionEdit noselect clickable" title="Edit" aria-hidden="true"></i> <i class="fa fa-commenting fa-lg editComment noselect clickable {{commentClass}}" aria-hidden="true"></i> <i class="fa fa-times-circle fa-lg saleRemove noselect clickable" aria-hidden="true"></i></td>
|
||||
</tr>
|
||||
@@ -72,7 +77,7 @@
|
||||
<div class="editorDiv"><label>Venue</label><input name="venue" class="form-control" type="text" required/></div>
|
||||
</div>
|
||||
<div class="col-6-12">
|
||||
<div class="editorDiv"><label>Amount</label><input type="number" class="form-control amount" name="amount" min="0" step="0.01" data-schema-key='amount' value="{{amount}}" required></div>
|
||||
<div class="editorDiv"><label>Amount</label><input type="number" class="form-control amount" name="amount" min="0" step="1" data-schema-key='amount' value="{{amount}}" required></div>
|
||||
<div class="editorDiv"><label>Price</label><div class="priceContainer"><input type="number" class="form-control price" name="price" min="0" step="0.01" data-schema-key='currency' value="{{price}}" required><div class="priceButtons"><i class="fa fa-cogs setDefaultPrice noselect clickable" title="Calculate Default Price" aria-hidden="true"></i></div></div></div>
|
||||
<div class="editorDiv"><label>Total</label><input type="number" class="form-control total" name="total" data-schema-key='currency' value="{{total}}" tabindex="-1" readonly></div>
|
||||
</div>
|
||||
@@ -87,6 +92,10 @@
|
||||
<input type="text" class="searchInput" placeholder="Filter..." value="{{searchValue}}" style="padding-right: 10px; width: {{width}}"/>
|
||||
</template>
|
||||
|
||||
<template name="DateRangeSearch">
|
||||
<div style="padding-right: 10px; width: {{width}};"><input type="date" class="searchDateStartInput" value="{{startDate}}" data-schema-key='date' required> - <input type="date" class="searchDateEndInput" value="{{endDate}}" data-schema-key='date' required></div>
|
||||
</template>
|
||||
|
||||
<template name="InsertSale">
|
||||
<tr>
|
||||
<td colspan="8">
|
||||
|
||||
19
imports/ui/Sales.import.styl
vendored
19
imports/ui/Sales.import.styl
vendored
@@ -5,12 +5,23 @@
|
||||
height: 100%
|
||||
width: 100%
|
||||
text-align: left
|
||||
.controls
|
||||
text-align: left
|
||||
display: table
|
||||
width: 100%
|
||||
.pageControls
|
||||
padding: 4px 8px
|
||||
margin: 4px 8px
|
||||
display: table-cell
|
||||
width: 240px
|
||||
.tableControls
|
||||
text-align: right
|
||||
margin-right: 20px
|
||||
.salesListRow
|
||||
padding: 4px 8px
|
||||
margin: 4px 12px 4px 8px
|
||||
display: table-cell
|
||||
.listRow
|
||||
display: table-row
|
||||
.salesListCell
|
||||
.listCell
|
||||
display: table-cell
|
||||
position: relative
|
||||
height: 100%
|
||||
@@ -70,7 +81,7 @@
|
||||
display: inline-block
|
||||
.fa-times-circle
|
||||
display: none
|
||||
.newSaleButton.active
|
||||
.newSaleButton:active
|
||||
background-color: #fb557b
|
||||
color: black
|
||||
.fa-times-circle
|
||||
|
||||
@@ -3,9 +3,17 @@ import './Sales.html';
|
||||
import '/imports/util/selectize/selectize.js';
|
||||
import swal from 'sweetalert2';
|
||||
|
||||
/**
|
||||
* Notes:
|
||||
* The Sale object has a date field which stores the date as a number in the format YYYYMMDD. Converting this number into a local date is done with moment(sale.date.toString(), "YYYYMMDD").toDate(), and converting it to a number from a date can be accomplished with ~~(moment(date).format("YYYYMMDD")), where the ~~ is a bitwise not and converts a string to a number quickly and reliably.
|
||||
*/
|
||||
|
||||
let QUERY_LIMIT = 20;
|
||||
let PREFIX = "Sales.";
|
||||
|
||||
Template.Sales.onCreated(function() {
|
||||
Session.set(PREFIX + "displayNewSale", false);
|
||||
|
||||
Meteor.subscribe("products");
|
||||
Session.set(PREFIX + "sortOption", "date");
|
||||
Session.set(PREFIX + "showOnlyComments", false);
|
||||
@@ -21,12 +29,15 @@ Tracker.autorun(function() {
|
||||
query.comment = {$exists: true};
|
||||
}
|
||||
|
||||
Meteor.subscribe("sales", query, sort, QUERY_LIMIT, Session.get(PREFIX + 'skipCount'));
|
||||
//if(Template.Sales.salesSubscription) Template.Sales.salesSubscription.stop();
|
||||
Template.Sales.salesSubscription = Meteor.subscribe("sales", query, sort, QUERY_LIMIT, Session.get(PREFIX + 'skipCount'));
|
||||
Session.set(PREFIX + 'saleCount', Meteor.call('getSalesCount', Session.get(PREFIX + 'searchQuery')));
|
||||
});
|
||||
|
||||
Template.Sales.onCreated(function() {
|
||||
Session.set(PREFIX + "displayNewSale", false);
|
||||
});
|
||||
Template.Sales.onDestroyed(function() {
|
||||
if(Template.Sales.salesSubscription) {
|
||||
Template.Sales.salesSubscription.stop();
|
||||
}
|
||||
});
|
||||
Template.Sales.helpers({
|
||||
displayNewSale: function() {
|
||||
@@ -77,6 +88,9 @@ Template.Sales.events({
|
||||
|
||||
Session.set(PREFIX + "showOnlyComments", !$button.hasClass('on'));
|
||||
$button.toggleClass('on');
|
||||
},
|
||||
'click .showDuplicates': function(event, template) {
|
||||
FlowRouter.go('SaleDuplicates');
|
||||
}
|
||||
});
|
||||
|
||||
@@ -93,10 +107,10 @@ Template.Sale.helpers({
|
||||
return Meteor.collections.Products.findOne({_id: id}, {fields: {name: 1}}).name;
|
||||
},
|
||||
formatDateAndWeek: function(date) {
|
||||
return moment(date).format("MM/DD/YYYY (w)");
|
||||
return moment.utc(date.toString(), "YYYYMMDD").utc().format("MM/DD/YYYY (w)");
|
||||
},
|
||||
formatDate: function(date) {
|
||||
return moment(date).format("MM/DD/YYYY");
|
||||
formatDateTime: function(date) {
|
||||
return moment.utc(date).format("MM/DD/YYYY");
|
||||
},
|
||||
formatPrice: function(price) {
|
||||
return price.toLocaleString("en-US", {style: 'currency', currency: 'USD', minimumFractionDigits: 2});
|
||||
@@ -162,10 +176,8 @@ Template.Sale.events({
|
||||
});
|
||||
|
||||
Template.SaleEditor.onCreated(function() {
|
||||
let _this = this;
|
||||
|
||||
this.product = Meteor.collections.Products.findOne({_id: this.data.productId});
|
||||
this.selectedDate = new ReactiveVar(this.data.date);
|
||||
this.selectedDate = new ReactiveVar(moment(this.data.date.toString(), "YYYYMMDD").toDate());
|
||||
this.selectedVenue = new ReactiveVar(Meteor.collections.Venues.findOne({_id: this.data.venueId}));
|
||||
this.price = new ReactiveVar(this.data.price);
|
||||
this.amount = new ReactiveVar(this.data.amount);
|
||||
@@ -207,7 +219,7 @@ Template.SaleEditor.events({
|
||||
|
||||
//If this product has pricing data for the given measure, then either use the price, or the previousPrice (if there is one and the effectiveDate is after the sale date).
|
||||
if(priceData) {
|
||||
if(priceData.effectiveDate && date && moment(priceData.effectiveDate).isAfter(date))
|
||||
if(priceData.effectiveDate && date && moment.utc(priceData.effectiveDate.toString(), "YYYYMMDD").isAfter(date))
|
||||
price = priceData.previousPrice;
|
||||
else
|
||||
price = priceData.price
|
||||
@@ -231,7 +243,7 @@ Template.SaleEditor.events({
|
||||
template.$('form[name="editSaleForm"]').data('bs.validator').validate(function(isValid) {
|
||||
if(isValid) {
|
||||
let id = template.data._id;
|
||||
let date = template.selectedDate.get();
|
||||
let date = ~~(moment(template.selectedDate.get()).format("YYYYMMDD")); // Note: The ~~ is a bitwise not that is a fast method of converting a string to a number.
|
||||
let venue = template.selectedVenue.get();
|
||||
let price = template.price.get();
|
||||
let amount = template.amount.get();
|
||||
@@ -245,36 +257,6 @@ Template.SaleEditor.events({
|
||||
});
|
||||
}
|
||||
});
|
||||
|
||||
//let name = template.$("input[name='name']").val().trim();
|
||||
//let tags = template.$(".productTagsEditor").select2('data');
|
||||
//let aliases = template.$(".productAliasesEditor").select2('data');
|
||||
//let measures = template.$(".productMeasuresEditor").select2('data');
|
||||
//
|
||||
//tags = tags.map((n)=>n.id);
|
||||
//aliases = aliases.map((n)=>n.id);
|
||||
//measures = measures.map((n)=>n.id);
|
||||
//
|
||||
//if(Session.get(PREFIX + 'displayNewProduct')) {
|
||||
// Meteor.call("createProduct", name, tags, aliases, measures, function(error, result) {
|
||||
// if(error) sAlert.error(error);
|
||||
// else {
|
||||
// sAlert.success("Product created.");
|
||||
// Session.set(PREFIX + 'displayNewProduct', false);
|
||||
// template.parentTemplate().$('.newProductButton').removeClass('active');
|
||||
// }
|
||||
// });
|
||||
//}
|
||||
//else {
|
||||
// Meteor.call("updateProduct", this._id, name, tags, aliases, measures, function(error, result) {
|
||||
// if(error) sAlert.error(error);
|
||||
// else {
|
||||
// sAlert.success("Product updated.");
|
||||
// Session.set(PREFIX + "editedProduct", undefined);
|
||||
// template.parentTemplate().$('.newProductButton').removeClass('active');
|
||||
// }
|
||||
// });
|
||||
//}
|
||||
}
|
||||
});
|
||||
|
||||
@@ -289,11 +271,13 @@ Template.SaleSearch.events({
|
||||
"keyup .searchInput": _.throttle(function(event, template) {
|
||||
let searchQuery = Session.get(PREFIX + 'searchQuery') || {};
|
||||
let searchFields = Session.get(PREFIX + 'searchFields') || {};
|
||||
let searchValue = template.$('.searchInput').val();
|
||||
let searchValue = template.$(event.target).val();
|
||||
|
||||
if(searchValue) {
|
||||
if(this.number) searchValue = parseFloat(searchValue);
|
||||
|
||||
// A collection name will be provided if there is a related table of data that will contain the text provided and will map to an ID that is then searched for in the current table of data.
|
||||
// For example we are displaying a table of Sales which has the ID of a Product. The Product table has a Name field and the search box searches for Product Names. The ID's of the Products found should be used to filter the Sales by Product ID.
|
||||
if(this.collection) {
|
||||
let ids = Meteor.collections[this.collection].find({[this.collectionQueryColumnName]: {$regex: searchValue, $options: 'i'}}, {fields: {[this.collectionResultColumnName]: 1}}).fetch();
|
||||
|
||||
@@ -313,11 +297,70 @@ Template.SaleSearch.events({
|
||||
}
|
||||
|
||||
Session.set(PREFIX + 'searchQuery', searchQuery);
|
||||
Session.set(PREFIX + 'searchFields', searchFields)
|
||||
Session.set(PREFIX + 'searchFields', searchFields);
|
||||
Session.set(PREFIX + 'skipCount', 0); //Reset the paging of the results.
|
||||
}, 500)
|
||||
});
|
||||
|
||||
Template.DateRangeSearch.helpers({
|
||||
startDate: function() {
|
||||
let searchFields = Session.get(PREFIX + 'searchFields');
|
||||
let searchValue = (searchFields && searchFields[this.columnName]) ? searchFields[this.columnName] : {};
|
||||
|
||||
return searchValue.start ? moment(searchValue.start.toString(), "YYYYMMDD").format("MM/DD/YYYY") : "";
|
||||
},
|
||||
endDate: function() {
|
||||
let searchFields = Session.get(PREFIX + 'searchFields');
|
||||
let searchValue = (searchFields && searchFields[this.columnName]) ? searchFields[this.columnName] : {};
|
||||
|
||||
return searchValue.end ? moment(searchValue.end.toString(), "YYYYMMDD").format("MM/DD/YYYY") : "";
|
||||
}
|
||||
});
|
||||
Template.DateRangeSearch.events({
|
||||
"change .searchDateStartInput": function(event, template) {Template.DateRangeSearch.dateChanged(true, event, template)},
|
||||
"keyup .searchDateStartInput": _.throttle(function(event, template) {Template.DateRangeSearch.dateChanged(true, event, template)}, 500),
|
||||
"change .searchDateEndInput": function(event, template) {Template.DateRangeSearch.dateChanged(false, event, template)},
|
||||
"keyup .searchDateEndInput": _.throttle(function(event, template) {Template.DateRangeSearch.dateChanged(false, event, template)}, 500)
|
||||
});
|
||||
Template.DateRangeSearch.dateChanged = function(isStart, event, template) {
|
||||
let searchQuery = Session.get(PREFIX + 'searchQuery') || {};
|
||||
let searchFields = Session.get(PREFIX + 'searchFields') || {};
|
||||
let searchValue = template.$(event.target).val();
|
||||
let columnName = template.data.columnName;
|
||||
|
||||
if(searchValue) {
|
||||
let search = searchQuery[columnName];
|
||||
|
||||
// Create a search object and attach it to the searchFields and searchQuery objects if needed.
|
||||
if(!search) {
|
||||
search = {type: 'dateRange'};
|
||||
searchFields[columnName] = searchQuery[columnName] = search;
|
||||
}
|
||||
|
||||
// Use moment to parse date and convert it to YYYYMMDD for searching the database.
|
||||
searchValue = ~~(moment(searchValue, searchValue.includes("-") ? "YYYY-MM-DD" : "MM/DD/YYYY").format("YYYYMMDD")); // Note: ~~ performs a bitwise not which is a fast method of converting a string to a number.
|
||||
// Save the search ending date.
|
||||
isStart ? search.start = searchValue : search.end = searchValue;
|
||||
}
|
||||
else {
|
||||
if(searchQuery[columnName]) {
|
||||
// Remove columns from the search query whose values are empty so we don't bother the database with them.
|
||||
if(isStart) {
|
||||
delete searchQuery[columnName].start;
|
||||
delete searchFields[columnName].start;
|
||||
}
|
||||
else {
|
||||
delete searchQuery[columnName].end;
|
||||
delete searchFields[columnName].end;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
Session.set(PREFIX + 'searchQuery', searchQuery);
|
||||
Session.set(PREFIX + 'searchFields', searchFields);
|
||||
Session.set(PREFIX + 'skipCount', 0); //Reset the paging of the results.
|
||||
};
|
||||
|
||||
Template.InsertSale.onCreated(function() {
|
||||
this.selectedDate = new ReactiveVar();
|
||||
this.selectedProduct = new ReactiveVar();
|
||||
@@ -351,7 +394,7 @@ Template.InsertSale.events({
|
||||
let insertSaleMeasures = template.$(".insertSaleMeasure");
|
||||
|
||||
let sale = {
|
||||
date: moment(template.find("[name='date']").value, "YYYY-MM-DD").toDate(),
|
||||
date: ~~(moment(template.find("[name='date']").value, "YYYY-MM-DD").format("YYYYMMDD")), // Note: ~~ performs a bitwise not which is a fast method of converting a string to a number.
|
||||
productId: template.selectedProduct.get()._id,
|
||||
venueId: template.selectedVenue.get()._id
|
||||
};
|
||||
@@ -381,6 +424,7 @@ Template.InsertSale.events({
|
||||
if(error) sAlert.error("Failed to insert the sale!\n" + error);
|
||||
else {
|
||||
sAlert.success("Sale Created");
|
||||
nextMeasure.find(".amount").val(0);
|
||||
|
||||
//Clear the measure quantity fields so the user can enter another sale without the quantities already set.
|
||||
for(let next = 0; next < insertSaleMeasures.length; next++) {
|
||||
|
||||
@@ -1,5 +1,6 @@
|
||||
<template name="Venues">
|
||||
<div id="venues">
|
||||
{{#if Template.subscriptionsReady}}
|
||||
<div class="tableControls">
|
||||
<span class="controlLabel">Show Hidden</span>
|
||||
<div class="toggleShowHidden checkbox checkbox-slider--b-flat">
|
||||
@@ -12,6 +13,8 @@
|
||||
<span class="nextVenues noselect {{#if disableNext}}disabled{{/if}}">Next <i class="fa fa-long-arrow-right" aria-hidden="true"></i></span>
|
||||
</span>
|
||||
</div>
|
||||
<div class="listRow">
|
||||
<div class="listCell">
|
||||
<div class="tableContainer">
|
||||
<table class="table table-striped table-hover">
|
||||
<thead>
|
||||
@@ -33,6 +36,10 @@
|
||||
</table>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
{{else}}
|
||||
{{/if}}
|
||||
</div>
|
||||
</template>
|
||||
|
||||
<template name="Venue">
|
||||
|
||||
23
imports/ui/Venues.import.styl
vendored
23
imports/ui/Venues.import.styl
vendored
@@ -1,6 +1,9 @@
|
||||
#venues
|
||||
margin: 20px 20px
|
||||
display: table
|
||||
content-box: border-box
|
||||
padding: 10px 20px
|
||||
height: 100%
|
||||
width: 100%
|
||||
text-align: left
|
||||
|
||||
.tableControls
|
||||
@@ -18,12 +21,24 @@
|
||||
top: -4px
|
||||
display: inline-block
|
||||
|
||||
.tableContainer
|
||||
.listRow
|
||||
display: table-row
|
||||
.listCell
|
||||
display: table-cell
|
||||
position: relative
|
||||
height: 100%
|
||||
width: 100%
|
||||
margin-bottom: 20px
|
||||
.tableContainer
|
||||
position: absolute
|
||||
top: 0
|
||||
bottom: 0
|
||||
left: 0
|
||||
right: 0
|
||||
width: auto
|
||||
height: auto
|
||||
border: 0
|
||||
font-size: 12.5px
|
||||
|
||||
overflow-y: auto
|
||||
table
|
||||
table-layout: fixed
|
||||
width: 100%
|
||||
|
||||
@@ -17,6 +17,11 @@
|
||||
User Management
|
||||
</a>
|
||||
</li>
|
||||
<li class="{{isActiveRoute 'MiscManagement'}}">
|
||||
<a href="{{pathFor 'MiscManagement'}}">
|
||||
Misc Management
|
||||
</a>
|
||||
</li>
|
||||
{{/if}}
|
||||
<li class="{{isActiveRoute 'Sales'}}">
|
||||
<a href="{{pathFor 'Sales'}}">
|
||||
|
||||
@@ -6,6 +6,7 @@
|
||||
"build": "npm install --product && meteor build --architecture os.linux.x86_64 --server-only ../"
|
||||
},
|
||||
"dependencies": {
|
||||
"1.0": "^1.0.2",
|
||||
"babel-runtime": "^6.18.0",
|
||||
"csv-parse": "latest",
|
||||
"d3": "^4.4.2",
|
||||
|
||||
57
server/cleanDates.js
Normal file
57
server/cleanDates.js
Normal file
@@ -0,0 +1,57 @@
|
||||
|
||||
|
||||
Meteor.methods({
|
||||
// Cleans up all Date objects that don't have a time component. Removes any time component.
|
||||
"cleanDates": function() {
|
||||
|
||||
// Update the sales dates.
|
||||
|
||||
let sales = Sales.find({}).fetch();
|
||||
|
||||
for(let i = 0; i < sales.length; i++) {
|
||||
if(sales[i].date && _.isDate(sales[i].date)) {
|
||||
let date = ~~(moment(sales[i].date).format("YYYYMMDD"));
|
||||
|
||||
console.log("Converted " + sales[i].date + " to " + date);
|
||||
|
||||
// Save to the database.
|
||||
Sales.update(sales[i]._id, {$set: {date}}, function(err, id) {
|
||||
if(err) console.log(err);
|
||||
}, {bypassCollection2: true});
|
||||
}
|
||||
}
|
||||
|
||||
console.log("+++++++++++++++++++++++++++++++ FINISHED Sales +++++++++++++++++++++++++++++");
|
||||
|
||||
// Update the product price effective dates.
|
||||
|
||||
let products = Products.find({}).fetch();
|
||||
|
||||
for(let i = 0; i < products.length; i++) {
|
||||
let product = products[i];
|
||||
let hasChanges = false;
|
||||
let prices = product.prices;
|
||||
|
||||
if(prices) {
|
||||
for(let prop in prices) {
|
||||
if(prices[prop] && prices[prop].effectiveDate) {
|
||||
if(_.isDate(prices[prop].effectiveDate)) {
|
||||
let oldDate = prices[prop].effectiveDate;
|
||||
|
||||
prices[prop].effectiveDate = ~~(moment(prices[prop].effectiveDate).format("YYYYMMDD"));
|
||||
console.log("Converted " + oldDate + " to " + prices[prop].effectiveDate + " for the product " + product.name);
|
||||
hasChanges = true;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
// Save the changes.
|
||||
if(hasChanges) {
|
||||
Products.update(product._id, {$set: {prices}}, function(err, id) {
|
||||
if(err) console.log(err);
|
||||
}, {validate: false, bypassCollection2: true});
|
||||
}
|
||||
}
|
||||
}
|
||||
});
|
||||
48
server/exportMissing.js
Normal file
48
server/exportMissing.js
Normal file
@@ -0,0 +1,48 @@
|
||||
let fs = require('fs');
|
||||
|
||||
Meteor.methods({
|
||||
"exportMissingSales": function() {
|
||||
try {
|
||||
let products = Products.find({}).fetch();
|
||||
let venues = Venues.find({}).fetch();
|
||||
let measures = Measures.find({}).fetch();
|
||||
let productNameMap = {};
|
||||
let venueNameMap = {};
|
||||
let measureNameMap = {};
|
||||
let sales = Sales.find({createdAt: {$gte: moment.utc("2017-01-28", "YYYY-MM-DD").toDate(), $lt: moment.utc("2017-01-29", "YYYY-MM-DD").toDate()}}).fetch();
|
||||
let output = "";
|
||||
|
||||
for(let i = 0; i < products.length; i++) {
|
||||
productNameMap[products[i]._id] = products[i].name;
|
||||
}
|
||||
for(let i = 0; i < venues.length; i++) {
|
||||
venueNameMap[venues[i]._id] = venues[i].name;
|
||||
}
|
||||
for(let i = 0; i < measures.length; i++) {
|
||||
measureNameMap[measures[i]._id] = measures[i].name;
|
||||
}
|
||||
for(let i = 0; i < sales.length; i++) {
|
||||
let sale = sales[i];
|
||||
let saleOutput = '{\n\t"date": ' + sale.date + ',\n\t "amount": ' + sale.amount + ',\n\t "price": ' + sale.price + ',\n\t "venue": "' + venueNameMap[sale.venueId] + '",\n\t "product": "' + productNameMap[sale.productId] + '",\n\t "measure": "' + measureNameMap[sale.measureId] + '",\n\t "createdAt": "' + sale.createdAt + '"\n}';
|
||||
|
||||
if(output.length > 0) {
|
||||
output += ",\n";
|
||||
}
|
||||
else {
|
||||
output = "[";
|
||||
}
|
||||
|
||||
output += saleOutput;
|
||||
}
|
||||
|
||||
fs.writeFile("./exportedMissingSales.json", output, function(err) {
|
||||
if(err) console.log(err);
|
||||
});
|
||||
|
||||
output += "]";
|
||||
console.log(output);
|
||||
} catch(err) {
|
||||
console.log(err);
|
||||
}
|
||||
}
|
||||
});
|
||||
24
server/handleDuplicateSales.js
Normal file
24
server/handleDuplicateSales.js
Normal file
@@ -0,0 +1,24 @@
|
||||
Meteor.methods({
|
||||
"checkDuplicateSales": function() {
|
||||
try {
|
||||
let sales = Sales.find({}).fetch();
|
||||
let duplicateCount = 0;
|
||||
|
||||
for(let i = 0; i < sales.length; i++) {
|
||||
let next = missingData[i];
|
||||
let count = Sales.find({date: next.date, measureId: next.measureId, productId: next.productId, venueId: next.venueId, price: next.price, amount: next.amount}).count();
|
||||
|
||||
if(count > 1) {
|
||||
console.log("This sale has a duplicate:");
|
||||
console.log(next);
|
||||
}
|
||||
}
|
||||
|
||||
console.log("Total Duplicate Count: " + duplicateCount);
|
||||
console.log("Finished Checking Duplicates");
|
||||
Meteor.log.info("xxx");
|
||||
} catch(err) {
|
||||
console.log(err);
|
||||
}
|
||||
}
|
||||
});
|
||||
5469
server/importMissing.js
Normal file
5469
server/importMissing.js
Normal file
File diff suppressed because it is too large
Load Diff
@@ -17,3 +17,5 @@ if (!process.env.MAIL_URL) {
|
||||
}
|
||||
|
||||
// console.log("Mail settings: " + process.env.MAIL_URL);
|
||||
|
||||
if(Meteor.log) Meteor.log.info("Server Started");
|
||||
|
||||
Reference in New Issue
Block a user