@fleetbase/fleetops-engine 0.0.3 → 0.0.5

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (52) hide show
  1. package/addon/components/cell/driver-name.js +1 -1
  2. package/addon/components/custom-field.hbs +1 -1
  3. package/addon/components/fleet-driver-listing.hbs +1 -1
  4. package/addon/components/fleet-driver-listing.js +15 -15
  5. package/addon/components/global-search.hbs +1 -1
  6. package/addon/components/integrated-order-details.js +1 -1
  7. package/addon/components/leaflet-draw-control.js +3 -4
  8. package/addon/components/live-map.js +0 -3
  9. package/addon/components/modals/contact-form.hbs +5 -5
  10. package/addon/components/modals/driver-form.hbs +6 -6
  11. package/addon/components/modals/entity-form.hbs +1 -1
  12. package/addon/components/modals/group-form.hbs +1 -1
  13. package/addon/components/modals/order-form.hbs +1 -1
  14. package/addon/components/modals/order-import.hbs +1 -1
  15. package/addon/components/modals/policy-form.hbs +2 -2
  16. package/addon/components/modals/role-form.hbs +1 -1
  17. package/addon/components/modals/user-form.hbs +3 -3
  18. package/addon/components/modals/vehicle-form.hbs +34 -34
  19. package/addon/components/modals/vendor-form.hbs +8 -8
  20. package/addon/components/modals/zone-form.hbs +1 -1
  21. package/addon/components/order-config/activity-flow-editor.hbs +1 -1
  22. package/addon/components/order-config/fields-editor.js +2 -7
  23. package/addon/components/order-list-overlay/order.hbs +0 -1
  24. package/addon/components/order-list-overlay.hbs +2 -2
  25. package/addon/controllers/management/contacts/index.js +4 -4
  26. package/addon/controllers/management/fleets/index.js +3 -4
  27. package/addon/controllers/management/fuel-reports/index.js +3 -2
  28. package/addon/controllers/management/issues/index.js +2 -1
  29. package/addon/controllers/management/places/index.js +4 -5
  30. package/addon/controllers/management/vehicles/index.js +2 -2
  31. package/addon/controllers/management/vendors/index.js +4 -3
  32. package/addon/controllers/management.js +0 -2
  33. package/addon/controllers/operations/orders/index/view.js +0 -1
  34. package/addon/controllers/operations/orders/index.js +1 -0
  35. package/addon/controllers/operations/service-rates/index.js +2 -2
  36. package/addon/controllers/operations/zones/index.js +8 -3
  37. package/addon/helpers/feature-group.js +0 -1
  38. package/addon/routes/comms/chat.js +1 -1
  39. package/addon/routes/comms/intercom.js +1 -1
  40. package/addon/routes/management/contacts/index.js +0 -1
  41. package/addon/routes/operations/dispatch.js +1 -1
  42. package/addon/services/service-areas.js +0 -1
  43. package/addon/templates/management/index.hbs +8 -8
  44. package/addon/templates/operations/orders/index/new.hbs +4 -4
  45. package/addon/templates/operations/service-rates/index/new.hbs +1 -1
  46. package/addon/templates/operations/zones/index.hbs +6 -6
  47. package/config/environment.js +1 -2
  48. package/index.js +4 -4
  49. package/package.json +7 -5
  50. package/addon/components/event-timeline.hbs +0 -7
  51. package/addon/components/event-timeline.js +0 -423
  52. package/app/components/event-timeline.js +0 -1
@@ -1,7 +1,7 @@
1
1
  import Controller from '@ember/controller';
2
2
  import { inject as service } from '@ember/service';
3
3
  import { tracked } from '@glimmer/tracking';
4
- import { action, computed } from '@ember/object';
4
+ import { action } from '@ember/object';
5
5
  import { isBlank } from '@ember/utils';
6
6
  import { timeout } from 'ember-concurrency';
7
7
  import { task } from 'ember-concurrency-decorators';
@@ -250,7 +250,7 @@ export default class OperationsServiceRatesIndexController extends Controller {
250
250
  */
251
251
  @action deleteServiceRate(serviceRate, options = {}) {
252
252
  this.crud.delete(serviceRate, {
253
- onSuccess: (serviceRate) => {
253
+ onSuccess: () => {
254
254
  return this.hostRouter.refresh();
255
255
  },
256
256
  ...options,
@@ -2,6 +2,7 @@ import Controller from '@ember/controller';
2
2
  import { inject as service } from '@ember/service';
3
3
  import { tracked } from '@glimmer/tracking';
4
4
  import { action } from '@ember/object';
5
+ import { later } from '@ember/runloop';
5
6
  import GeoJson from '@fleetbase/fleetops-data/utils/geojson/geo-json';
6
7
  import FeatureCollection from '@fleetbase/fleetops-data/utils/geojson/feature-collection';
7
8
  import last from '@fleetbase/ember-core/utils/last';
@@ -120,9 +121,13 @@ export default class OperationsZonesIndexController extends Controller {
120
121
  this.leafletMap = event.target;
121
122
 
122
123
  // handle resize event now
123
- setTimeout(() => {
124
- this.leafletMap.invalidateSize();
125
- }, 100);
124
+ later(
125
+ this,
126
+ () => {
127
+ this.leafletMap.invalidateSize();
128
+ },
129
+ 100
130
+ );
126
131
  }
127
132
 
128
133
  /**
@@ -1,5 +1,4 @@
1
1
  import { helper } from '@ember/component/helper';
2
- /* global L */
3
2
 
4
3
  /**
5
4
  * Represents a Leaflet FeatureGroup
@@ -1,3 +1,3 @@
1
1
  import Route from '@ember/routing/route';
2
2
 
3
- export default Route.extend({});
3
+ export default class CommsChatRoute extends Route {}
@@ -1,3 +1,3 @@
1
1
  import Route from '@ember/routing/route';
2
2
 
3
- export default Route.extend({});
3
+ export default class CommsIntercomRoute extends Route {}
@@ -1,6 +1,5 @@
1
1
  import Route from '@ember/routing/route';
2
2
  import { inject as service } from '@ember/service';
3
- import { action } from '@ember/object';
4
3
 
5
4
  export default class ManagementContactsIndexRoute extends Route {
6
5
  @service store;
@@ -1,3 +1,3 @@
1
1
  import Route from '@ember/routing/route';
2
2
 
3
- export default Route.extend({});
3
+ export default class OperationsDispatchRoute extends Route {}
@@ -5,7 +5,6 @@ import { action } from '@ember/object';
5
5
  import { isArray } from '@ember/array';
6
6
  import { dasherize } from '@ember/string';
7
7
  import { later } from '@ember/runloop';
8
- import first from '@fleetbase/ember-core/utils/first';
9
8
  import GeoJson from '@fleetbase/fleetops-data/utils/geojson/geo-json';
10
9
  import MultiPolygon from '@fleetbase/fleetops-data/utils/geojson/multi-polygon';
11
10
  import Polygon from '@fleetbase/fleetops-data/utils/geojson/polygon';
@@ -1,49 +1,49 @@
1
1
  <div class="content">
2
2
  <div class="row">
3
3
  <div class="col-12 col-lg-3 col-xl-3">
4
- <LinkTo @route="dashboard.fleet-ops.management.vendors" @tagName="div" class="group hover:bg-flb-blue p-4 cursor-pointer bg-white rounded max-w-xs w-full shadow-lg select-none overflow-hidden mx-auto mb-6">
4
+ <LinkTo @route="dashboard.fleet-ops.management.vendors" class="group hover:bg-flb-blue p-4 cursor-pointer bg-white rounded max-w-xs w-full shadow-lg select-none overflow-hidden mx-auto mb-6">
5
5
  <p class="font-semibold text-lg mb-1 text-black group-hover:text-white">Vendors</p>
6
6
  <p class="text-grey-darker group-hover:text-white mb-2">Manage your vendors</p>
7
7
  </LinkTo>
8
8
  </div>
9
9
  <div class="col-12 col-lg-3 col-xl-3">
10
- <LinkTo @route="dashboard.fleet-ops.management.fleets" @tagName="div" class="group hover:bg-flb-blue p-4 cursor-pointer bg-white rounded max-w-xs w-full shadow-lg select-none overflow-hidden mx-auto mb-6">
10
+ <LinkTo @route="dashboard.fleet-ops.management.fleets" class="group hover:bg-flb-blue p-4 cursor-pointer bg-white rounded max-w-xs w-full shadow-lg select-none overflow-hidden mx-auto mb-6">
11
11
  <p class="font-semibold text-lg mb-1 text-black group-hover:text-white">Fleets</p>
12
12
  <p class="text-grey-darker group-hover:text-white mb-2">Manage your vendors</p>
13
13
  </LinkTo>
14
14
  </div>
15
15
  <div class="col-12 col-lg-3 col-xl-3">
16
- <LinkTo @route="dashboard.fleet-ops.management.drivers" @tagName="div" class="group hover:bg-flb-blue p-4 cursor-pointer bg-white rounded max-w-xs w-full shadow-lg select-none overflow-hidden mx-auto mb-6">
16
+ <LinkTo @route="dashboard.fleet-ops.management.drivers" class="group hover:bg-flb-blue p-4 cursor-pointer bg-white rounded max-w-xs w-full shadow-lg select-none overflow-hidden mx-auto mb-6">
17
17
  <p class="font-semibold text-lg mb-1 text-black group-hover:text-white">Drivers</p>
18
18
  <p class="text-grey-darker group-hover:text-white mb-2">Manage your vendors</p>
19
19
  </LinkTo>
20
20
  </div>
21
21
  <div class="col-12 col-lg-3 col-xl-3">
22
- <LinkTo @route="dashboard.fleet-ops.management.vehicles" @tagName="div" class="group hover:bg-flb-blue p-4 cursor-pointer bg-white rounded max-w-xs w-full shadow-lg select-none overflow-hidden mx-auto mb-6">
22
+ <LinkTo @route="dashboard.fleet-ops.management.vehicles" class="group hover:bg-flb-blue p-4 cursor-pointer bg-white rounded max-w-xs w-full shadow-lg select-none overflow-hidden mx-auto mb-6">
23
23
  <p class="font-semibold text-lg mb-1 text-black group-hover:text-white">Vehicles</p>
24
24
  <p class="text-grey-darker group-hover:text-white mb-2">Manage your vendors</p>
25
25
  </LinkTo>
26
26
  </div>
27
27
  <div class="col-12 col-lg-3 col-xl-3">
28
- <LinkTo @route="dashboard.fleet-ops.management.places" @tagName="div" class="group hover:bg-flb-blue p-4 cursor-pointer bg-white rounded max-w-xs w-full shadow-lg select-none overflow-hidden mx-auto mb-6">
28
+ <LinkTo @route="dashboard.fleet-ops.management.places" class="group hover:bg-flb-blue p-4 cursor-pointer bg-white rounded max-w-xs w-full shadow-lg select-none overflow-hidden mx-auto mb-6">
29
29
  <p class="font-semibold text-lg mb-1 text-black group-hover:text-white">Places</p>
30
30
  <p class="text-grey-darker group-hover:text-white mb-2">Manage your vendors</p>
31
31
  </LinkTo>
32
32
  </div>
33
33
  <div class="col-12 col-lg-3 col-xl-3">
34
- <LinkTo @route="dashboard.fleet-ops.management.contacts" @tagName="div" class="group hover:bg-flb-blue p-4 cursor-pointer bg-white rounded max-w-xs w-full shadow-lg select-none overflow-hidden mx-auto mb-6">
34
+ <LinkTo @route="dashboard.fleet-ops.management.contacts" class="group hover:bg-flb-blue p-4 cursor-pointer bg-white rounded max-w-xs w-full shadow-lg select-none overflow-hidden mx-auto mb-6">
35
35
  <p class="font-semibold text-lg mb-1 text-black group-hover:text-white">Contacts</p>
36
36
  <p class="text-grey-darker group-hover:text-white mb-2">Manage your vendors</p>
37
37
  </LinkTo>
38
38
  </div>
39
39
  <div class="col-12 col-lg-3 col-xl-3">
40
- <LinkTo @route="dashboard.fleet-ops.management.issues" @tagName="div" class="group hover:bg-flb-blue p-4 cursor-pointer bg-white rounded max-w-xs w-full shadow-lg select-none overflow-hidden mx-auto mb-6">
40
+ <LinkTo @route="dashboard.fleet-ops.management.issues" class="group hover:bg-flb-blue p-4 cursor-pointer bg-white rounded max-w-xs w-full shadow-lg select-none overflow-hidden mx-auto mb-6">
41
41
  <p class="font-semibold text-lg mb-1 text-black group-hover:text-white">Issues</p>
42
42
  <p class="text-grey-darker group-hover:text-white mb-2">Manage your vendors</p>
43
43
  </LinkTo>
44
44
  </div>
45
45
  <div class="col-12 col-lg-3 col-xl-3">
46
- <LinkTo @route="dashboard.fleet-ops.management.fuel-reports" @tagName="div" class="group hover:bg-flb-blue p-4 cursor-pointer bg-white rounded max-w-xs w-full shadow-lg select-none overflow-hidden mx-auto mb-6">
46
+ <LinkTo @route="dashboard.fleet-ops.management.fuel-reports" class="group hover:bg-flb-blue p-4 cursor-pointer bg-white rounded max-w-xs w-full shadow-lg select-none overflow-hidden mx-auto mb-6">
47
47
  <p class="font-semibold text-lg mb-1 text-black group-hover:text-white">Fuel Reports</p>
48
48
  <p class="text-grey-darker group-hover:text-white mb-2">Manage your vendors</p>
49
49
  </LinkTo>
@@ -365,10 +365,10 @@
365
365
  </div>
366
366
  <div class="space-y-2">
367
367
  <div>
368
- <Input @value={{entity.name}} type="text" class="w-full form-input form-input-sm" placeholder="Name" />
368
+ <Input @value={{entity.name}} @type="text" class="w-full form-input form-input-sm" placeholder="Name" />
369
369
  </div>
370
370
  <div>
371
- <Input @value={{entity.sku}} type="text" class="w-full form-input form-input-sm" placeholder="SKU" />
371
+ <Input @value={{entity.sku}} @type="text" class="w-full form-input form-input-sm" placeholder="SKU" />
372
372
  </div>
373
373
  <Button @icon="pencil" @text="Edit Item" @size="sm" @onClick={{fn this.editEntity entity}} />
374
374
  </div>
@@ -392,10 +392,10 @@
392
392
  </div>
393
393
  <div class="space-y-2">
394
394
  <div>
395
- <Input @value={{entity.name}} type="text" class="w-full form-input form-input-sm" placeholder="Name" />
395
+ <Input @value={{entity.name}} @type="text" class="w-full form-input form-input-sm" placeholder="Name" />
396
396
  </div>
397
397
  <div>
398
- <Input @value={{entity.sku}} type="text" class="w-full form-input form-input-sm" placeholder="SKU" />
398
+ <Input @value={{entity.sku}} @type="text" class="w-full form-input form-input-sm" placeholder="SKU" />
399
399
  </div>
400
400
  {{#if this.waypoints.length}}
401
401
  <select class="form-select w-full form-input-sm" {{on "change" (fn
@@ -294,7 +294,7 @@
294
294
  <ContentPanel @title="Restrict Service" @open={{true}} @pad={{true}} @panelBodyClass="bg-white dark:bg-gray-800">
295
295
  <div class="input-group">
296
296
  <InputLabel @labelText="Service Area" @helpText="Restrict this service to order request originating from a service area." />
297
- <Select class="w-full" @options={{this.serviceAreas}} @optionLabel="name" @optionValue="id" @value={{this.serviceRate.service_area_uuid}} @onSelect={{fn this.selectServiceArea}} @placeholder="Restrict to service area" @disabled={{not this.serviceAreas.length}} />
297
+ <Select class="w-full" @options={{this.serviceAreas}} @optionLabel="name" @optionValue="id" @value={{this.serviceRate.service_area_uuid}} @onSelect={{this.selectServiceArea}} @placeholder="Restrict to service area" @disabled={{not this.serviceAreas.length}} />
298
298
  </div>
299
299
 
300
300
  {{#if this.serviceRate.service_area_uuid}}
@@ -32,20 +32,20 @@
32
32
  </div>
33
33
  </div>
34
34
  <div class="content-panel-body no-padding sidebar-panels not-service-nav w-full">
35
- <ContentPanel @title={{serviceArea.name}} @open={{true}} @panelBodyClass="bg-white dark:bg-gray-800">
35
+ <ContentPanel @title={{this.activeServiceArea.name}} @open={{true}} @panelBodyClass="bg-white dark:bg-gray-800">
36
36
  <div class="px-2 mb-2">
37
37
  <div class="flex items-center justify-end">
38
- <Button class="mr-2" @icon="eye" @type="magic" @text="Focus" @onClick={{fn this.startZoneEditing serviceArea}} @helpText="Moves map focus to {{serviceArea.name}}. Once focused you will then be able to edit, delete, and define zone bounds for the service area." />
39
- <DropdownButton @icon="cog" @size="sm" @contentClass="dropdown-menu" @size="xs" @horizontalPosition="right" @helpText="Service Area options." as |dd|>
38
+ <Button class="mr-2" @icon="eye" @type="magic" @text="Focus" @onClick={{fn this.startZoneEditing this.activeServiceArea}} @helpText="Moves map focus to {{this.activeServiceArea.name}}. Once focused you will then be able to edit, delete, and define zone bounds for the service area." />
39
+ <DropdownButton @icon="cog" @contentClass="dropdown-menu" @size="xs" @horizontalPosition="right" @helpText="Service Area options.">
40
40
  <div class="dropdown-menu-content context-menu">
41
- <a href="javascript:;" class="dropdown-menu-item" {{on "click" (fn this.renameServiceArea serviceArea)}}>Rename Service Area</a>
42
- <a href="javascript:;" class="dropdown-menu-item" {{on "click" (fn this.deleteServiceArea serviceArea)}}>Delete Service Area</a>
41
+ <a href="javascript:;" class="dropdown-menu-item" {{on "click" (fn this.renameServiceArea this.activeServiceArea)}}>Rename Service Area</a>
42
+ <a href="javascript:;" class="dropdown-menu-item" {{on "click" (fn this.deleteServiceArea this.activeServiceArea)}}>Delete Service Area</a>
43
43
  </div>
44
44
  </DropdownButton>
45
45
  </div>
46
46
  </div>
47
47
  <div class="px-0 py-1">
48
- {{#each serviceArea.zones as |zone|}}
48
+ {{#each this.activeServiceArea.zones as |zone|}}
49
49
  <div class="flex items-center justify-between border-t w-full border-gray-900 py-3 px-5 dark:text-gray-100">
50
50
  <div>
51
51
  <div class="font-semibold mb-1">
@@ -19,7 +19,6 @@ module.exports = function (environment) {
19
19
  return ENV;
20
20
  };
21
21
 
22
-
23
22
  function getenv(variable, defaultValue = null) {
24
23
  return process.env[variable] !== undefined ? process.env[variable] : defaultValue;
25
- }
24
+ }
package/index.js CHANGED
@@ -12,7 +12,7 @@ module.exports = buildEngine({
12
12
  enabled: true,
13
13
  },
14
14
 
15
- included: function (app) {
15
+ included: function () {
16
16
  this._super.included.apply(this, arguments);
17
17
 
18
18
  const importJs = (module, file, options) => {
@@ -36,13 +36,13 @@ module.exports = buildEngine({
36
36
  const leafletPath = path.dirname(require.resolve('leaflet'));
37
37
  const leafletImagesPath = path.join(leafletPath, 'images');
38
38
  const addonTree = [
39
- new Funnel(`node_modules/${name}/assets`, {
40
- destDir: '/',
41
- }),
42
39
  new Funnel(leafletImagesPath, {
43
40
  srcDir: '/',
44
41
  destDir: '/leaflet-images',
45
42
  }),
43
+ new Funnel(path.join(__dirname, 'assets'), {
44
+ destDir: '/',
45
+ }),
46
46
  ];
47
47
 
48
48
  // Merge the addon tree with the existing tree
package/package.json CHANGED
@@ -2,7 +2,7 @@
2
2
  "name": "@fleetbase/fleetops-engine",
3
3
  "extension": "Fleet Ops",
4
4
  "icon": "route",
5
- "version": "0.0.3",
5
+ "version": "0.0.5",
6
6
  "priority": 0,
7
7
  "description": "Fleetbase Fleet-Ops extension provides a fleet management and last mile delivery operations system module.",
8
8
  "keywords": [
@@ -36,12 +36,13 @@
36
36
  "test:ember-compatibility": "ember try:each"
37
37
  },
38
38
  "dependencies": {
39
- "@fleetbase/ember-core": "^0.0.1",
40
- "@fleetbase/ember-ui": "^0.0.2",
39
+ "@fleetbase/ember-core": "^0.0.2",
40
+ "@fleetbase/ember-ui": "^0.0.4",
41
41
  "@fleetbase/fleetops-data": "^0.0.1",
42
42
  "@fleetbase/leaflet-routing-machine": "^3.2.15",
43
43
  "@fortawesome/ember-fontawesome": "^0.4.1",
44
- "@fortawesome/free-solid-svg-icons": "^6.2.0",
44
+ "@fortawesome/fontawesome-svg-core": "^6.4.0",
45
+ "@fortawesome/free-solid-svg-icons": "^6.4.0",
45
46
  "@terraformer/spatial": "^2.1.2",
46
47
  "@zestia/ember-dragula": "^12.0.0",
47
48
  "broccoli-funnel": "^3.0.8",
@@ -55,7 +56,8 @@
55
56
  "leaflet": "^1.8.0",
56
57
  "leaflet-contextmenu": "^1.4.0",
57
58
  "leaflet-draw": "^1.0.4",
58
- "leaflet-rotatedmarker": "^0.2.0"
59
+ "leaflet-rotatedmarker": "^0.2.0",
60
+ "socketcluster-client": "^17.1.1"
59
61
  },
60
62
  "devDependencies": {
61
63
  "@ember/optional-features": "^2.0.0",
@@ -1,7 +0,0 @@
1
- <div class="timeline" {{did-insert (fn this.createTimeline this.defaultSettings)}}>
2
- <div class="timeline__wrap">
3
- <div class="timeline__items">
4
- {{yield}}
5
- </div>
6
- </div>
7
- </div>