@fleetbase/fleetops-engine 0.6.56 → 0.6.58
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.
- package/addon/components/ai/create-order-preview.hbs +297 -0
- package/addon/components/ai/create-order-preview.js +362 -0
- package/addon/components/ai/route-preview-map.hbs +79 -0
- package/addon/components/ai/route-preview-map.js +527 -0
- package/addon/components/fleet/details.hbs +21 -8
- package/addon/components/fleet/details.js +55 -1
- package/addon/components/fleet/hierarchy-tree.hbs +137 -0
- package/addon/components/fleet/hierarchy-tree.js +528 -0
- package/addon/components/map/drawer/device-event-listing.js +1 -0
- package/addon/components/map/drawer/driver-listing.js +1 -0
- package/addon/components/map/drawer/place-listing.js +1 -0
- package/addon/components/map/drawer/vehicle-listing.js +1 -0
- package/addon/components/order/details.hbs +34 -1
- package/addon/components/order/form/details.hbs +4 -0
- package/addon/components/order/form.hbs +9 -1
- package/addon/components/vehicle/card.hbs +14 -2
- package/addon/components/vehicle/form.hbs +13 -1
- package/addon/controllers/settings/map.js +4 -0
- package/addon/extension.js +14 -0
- package/addon/routes/management/fleets/index/details.js +1 -1
- package/addon/services/map-adapter/google.js +56 -16
- package/addon/services/map-manager.js +12 -0
- package/addon/styles/fleetops-engine.css +487 -1
- package/addon/utils/map-drawer-dropdown-position.js +11 -13
- package/app/components/ai/create-order-preview.js +1 -0
- package/app/components/ai/route-preview-map.js +1 -0
- package/app/components/fleet/hierarchy-tree.js +1 -0
- package/app/services/route-engine.js +1 -0
- package/composer.json +9 -2
- package/extension.json +1 -1
- package/package.json +6 -4
- package/phpunit.xml.dist +4 -4
- package/pnpm-workspace.yaml +2 -1
- package/scripts/coverage-runner.php +51 -0
- package/scripts/coverage-summary.php +110 -0
- package/scripts/normalize-rgba-alpha.js +90 -0
- package/scripts/pest-bootstrap.php +177 -0
- package/scripts/pest-file-runner.php +82 -0
- package/scripts/pest-runner.php +64 -0
- package/server/src/Http/Resources/v1/Fleet.php +8 -2
- package/server/src/Models/Driver.php +6 -0
- package/server/src/Models/Order.php +18 -6
- package/server/src/Models/Place.php +11 -3
- package/server/src/Orchestration/Support/OrchestrationPayloadBuilder.php +3 -1
- package/server/src/Providers/FleetOpsServiceProvider.php +26 -0
- package/server/src/Support/Ai/Capabilities/AbstractFleetOpsAICapability.php +88 -0
- package/server/src/Support/Ai/Capabilities/AssetStatusCapability.php +108 -0
- package/server/src/Support/Ai/Capabilities/ConsoleNavigationCapability.php +55 -0
- package/server/src/Support/Ai/Capabilities/CreateOrderPreviewCapability.php +508 -0
- package/server/src/Support/Ai/Capabilities/DocsHelpCapability.php +49 -0
- package/server/src/Support/Ai/Capabilities/ImportOrdersPreviewCapability.php +66 -0
- package/server/src/Support/Ai/Capabilities/OperationalQueryCapability.php +319 -0
- package/server/src/Support/Ai/Capabilities/OptimizeOrderRouteCapability.php +240 -0
- package/server/src/Support/Ai/Capabilities/OrderInsightsCapability.php +95 -0
- package/server/src/Support/Ai/Capabilities/SearchResourcesCapability.php +195 -0
- package/server/src/Support/Ai/FleetOpsAiQueryResources.php +150 -0
- package/server/src/Support/Utils.php +52 -0
- package/server/src/Tracking/TrackingOptions.php +6 -1
- package/server/src/routes.php +0 -11
- package/server/tests/AiCreateOrderPreviewCapabilityTest.php +131 -0
- package/server/tests/AiOperationalQueryCapabilityTest.php +75 -0
- package/server/tests/AnalyticsRoutesTest.php +5 -3
- package/server/tests/CustomerEndpointTest.php +1 -0
- package/server/tests/DeviceFilterTest.php +1 -2
- package/server/tests/FleetHierarchyResourceTest.php +12 -0
- package/server/tests/FuelProviderRegistryTest.php +7 -9
- package/server/tests/LiveControllerViewportTest.php +8 -16
- package/server/tests/LiveOrderQueryTest.php +18 -24
- package/server/tests/OrderPayloadPlaceResolutionTest.php +53 -0
- package/server/tests/PointResolutionTest.php +63 -0
- package/server/tests/ServiceAreaZoneApiShapeTest.php +8 -9
- package/server/tests/ServiceRateAlgorithmWeightVariablesTest.php +1 -1
- package/server/tests/TelematicsHardeningTest.php +31 -26
- package/server/tests/TrackingIntelligenceTest.php +65 -25
- package/server/tests/VehicleDriverAssignmentTest.php +8 -9
- package/addon/components/table/cell/dropdown/action-item.hbs +0 -31
- package/addon/components/table/cell/dropdown/action-item.js +0 -62
- package/addon/components/table/cell/dropdown.hbs +0 -28
- package/addon/components/table/cell/dropdown.js +0 -91
- package/app/components/table/cell/dropdown/action-item.js +0 -1
- package/app/components/table/cell/dropdown.js +0 -1
- package/server/src/Http/Controllers/Api/v1/OrganizationController.php +0 -45
|
@@ -1,4 +1,3 @@
|
|
|
1
|
-
/* stylelint-disable alpha-value-notation -- Fleet-Ops lazy engine production CSS is minified by legacy clean-css, which corrupts comma-form rgba() percent alpha values. */
|
|
2
1
|
.scheduler-left-sidebar {
|
|
3
2
|
border-right: 1px rgb(229 231 235 / 100%) solid;
|
|
4
3
|
height: 100vh;
|
|
@@ -2242,6 +2241,20 @@ body[data-theme='dark'] .fleet-ops-operations-monitor-divider::before {
|
|
|
2242
2241
|
padding-left: 2.75rem !important;
|
|
2243
2242
|
}
|
|
2244
2243
|
|
|
2244
|
+
.fleet-hierarchy-tree-row-depth-1 {
|
|
2245
|
+
padding-left: 1.5rem !important;
|
|
2246
|
+
}
|
|
2247
|
+
|
|
2248
|
+
.fleet-hierarchy-tree-row-depth-2 {
|
|
2249
|
+
padding-left: 2.5rem !important;
|
|
2250
|
+
}
|
|
2251
|
+
|
|
2252
|
+
.fleet-hierarchy-tree-row-depth-3,
|
|
2253
|
+
.fleet-hierarchy-tree-row-depth-4,
|
|
2254
|
+
.fleet-hierarchy-tree-row-depth-5 {
|
|
2255
|
+
padding-left: 3.5rem !important;
|
|
2256
|
+
}
|
|
2257
|
+
|
|
2245
2258
|
.fleet-ops-operations-monitor-child-row {
|
|
2246
2259
|
margin-top: -0.125rem;
|
|
2247
2260
|
}
|
|
@@ -8049,3 +8062,476 @@ body[data-theme='dark'] .issue-timeline-card time,
|
|
|
8049
8062
|
body[data-theme='dark'] .issue-timeline-card p {
|
|
8050
8063
|
color: #d1d5db;
|
|
8051
8064
|
}
|
|
8065
|
+
|
|
8066
|
+
.fleetbase-ai-create-order-preview {
|
|
8067
|
+
display: flex;
|
|
8068
|
+
flex-direction: column;
|
|
8069
|
+
gap: 8px;
|
|
8070
|
+
padding: 8px;
|
|
8071
|
+
}
|
|
8072
|
+
|
|
8073
|
+
.fleetbase-ai-create-order-preview__header {
|
|
8074
|
+
display: flex;
|
|
8075
|
+
align-items: flex-start;
|
|
8076
|
+
justify-content: space-between;
|
|
8077
|
+
gap: 8px;
|
|
8078
|
+
}
|
|
8079
|
+
|
|
8080
|
+
.fleetbase-ai-create-order-preview__map {
|
|
8081
|
+
position: relative;
|
|
8082
|
+
overflow: hidden;
|
|
8083
|
+
border: 1px solid rgb(148 163 184 / 20%);
|
|
8084
|
+
border-radius: 7px;
|
|
8085
|
+
background: rgb(15 23 42 / 5%);
|
|
8086
|
+
}
|
|
8087
|
+
|
|
8088
|
+
.fleetbase-ai-create-order-preview__leaflet,
|
|
8089
|
+
.fleetbase-ai-create-order-preview__google,
|
|
8090
|
+
.fleetbase-ai-create-order-preview__empty-map {
|
|
8091
|
+
width: 100%;
|
|
8092
|
+
height: 190px;
|
|
8093
|
+
}
|
|
8094
|
+
|
|
8095
|
+
.fleetbase-ai-create-order-preview__empty-map {
|
|
8096
|
+
display: flex;
|
|
8097
|
+
align-items: center;
|
|
8098
|
+
justify-content: center;
|
|
8099
|
+
gap: 8px;
|
|
8100
|
+
color: #64748b;
|
|
8101
|
+
font-size: 12px;
|
|
8102
|
+
}
|
|
8103
|
+
|
|
8104
|
+
.fleetbase-ai-create-order-preview__map-status {
|
|
8105
|
+
position: absolute;
|
|
8106
|
+
right: 8px;
|
|
8107
|
+
bottom: 8px;
|
|
8108
|
+
display: inline-flex;
|
|
8109
|
+
align-items: center;
|
|
8110
|
+
gap: 6px;
|
|
8111
|
+
border: 1px solid rgb(255 255 255 / 28%);
|
|
8112
|
+
border-radius: 999px;
|
|
8113
|
+
background: rgb(15 23 42 / 62%);
|
|
8114
|
+
padding: 4px 8px;
|
|
8115
|
+
color: #f8fafc;
|
|
8116
|
+
font-size: 11px;
|
|
8117
|
+
line-height: 1;
|
|
8118
|
+
backdrop-filter: blur(5px);
|
|
8119
|
+
}
|
|
8120
|
+
|
|
8121
|
+
.fleetbase-ai-create-order-preview__map-status--error {
|
|
8122
|
+
border-color: rgb(245 158 11 / 32%);
|
|
8123
|
+
background: rgb(120 53 15 / 64%);
|
|
8124
|
+
}
|
|
8125
|
+
|
|
8126
|
+
.fleetbase-ai-create-order-preview__fields {
|
|
8127
|
+
display: grid;
|
|
8128
|
+
grid-template-columns: repeat(2, minmax(0, 1fr));
|
|
8129
|
+
gap: 4px 8px;
|
|
8130
|
+
}
|
|
8131
|
+
|
|
8132
|
+
.fleetbase-ai-create-order-preview__field-row {
|
|
8133
|
+
display: flex;
|
|
8134
|
+
min-width: 0;
|
|
8135
|
+
align-items: center;
|
|
8136
|
+
justify-content: space-between;
|
|
8137
|
+
gap: 6px;
|
|
8138
|
+
border-radius: 7px;
|
|
8139
|
+
padding: 5px 6px;
|
|
8140
|
+
transition:
|
|
8141
|
+
background 120ms ease,
|
|
8142
|
+
box-shadow 120ms ease;
|
|
8143
|
+
}
|
|
8144
|
+
|
|
8145
|
+
.fleetbase-ai-create-order-preview__field-row:hover,
|
|
8146
|
+
.fleetbase-ai-create-order-preview__field-row:focus-within {
|
|
8147
|
+
background: rgb(255 255 255 / 20%);
|
|
8148
|
+
box-shadow: inset 0 0 0 1px rgb(148 163 184 / 14%);
|
|
8149
|
+
}
|
|
8150
|
+
|
|
8151
|
+
.fleetbase-ai-create-order-preview__field-row--notes {
|
|
8152
|
+
grid-column: 1 / -1;
|
|
8153
|
+
}
|
|
8154
|
+
|
|
8155
|
+
.fleetbase-ai-create-order-preview__field-copy {
|
|
8156
|
+
min-width: 0;
|
|
8157
|
+
flex: 1 1 auto;
|
|
8158
|
+
}
|
|
8159
|
+
|
|
8160
|
+
.fleetbase-ai-create-order-preview__field-copy > span {
|
|
8161
|
+
display: block;
|
|
8162
|
+
margin-bottom: 1px;
|
|
8163
|
+
color: #64748b;
|
|
8164
|
+
font-size: 10px;
|
|
8165
|
+
font-weight: 700;
|
|
8166
|
+
letter-spacing: 0;
|
|
8167
|
+
line-height: 1.1;
|
|
8168
|
+
text-transform: uppercase;
|
|
8169
|
+
}
|
|
8170
|
+
|
|
8171
|
+
.fleetbase-ai-create-order-preview__field-copy > strong {
|
|
8172
|
+
display: block;
|
|
8173
|
+
overflow: hidden;
|
|
8174
|
+
color: #0f172a;
|
|
8175
|
+
font-size: 12px;
|
|
8176
|
+
font-weight: 650;
|
|
8177
|
+
line-height: 1.25;
|
|
8178
|
+
text-overflow: ellipsis;
|
|
8179
|
+
white-space: nowrap;
|
|
8180
|
+
}
|
|
8181
|
+
|
|
8182
|
+
.fleetbase-ai-create-order-preview__field-row--notes .fleetbase-ai-create-order-preview__field-copy > strong {
|
|
8183
|
+
white-space: normal;
|
|
8184
|
+
}
|
|
8185
|
+
|
|
8186
|
+
.fleetbase-ai-create-order-preview__edit-wrapper {
|
|
8187
|
+
width: 24px;
|
|
8188
|
+
height: 24px;
|
|
8189
|
+
flex: 0 0 24px;
|
|
8190
|
+
box-shadow: none;
|
|
8191
|
+
}
|
|
8192
|
+
|
|
8193
|
+
.fleetbase-ai-create-order-preview__edit-button {
|
|
8194
|
+
display: inline-flex;
|
|
8195
|
+
width: 24px;
|
|
8196
|
+
height: 24px;
|
|
8197
|
+
align-items: center;
|
|
8198
|
+
justify-content: center;
|
|
8199
|
+
border: 0;
|
|
8200
|
+
border-radius: 6px;
|
|
8201
|
+
color: #64748b;
|
|
8202
|
+
}
|
|
8203
|
+
|
|
8204
|
+
.fleetbase-ai-create-order-preview__edit-button:hover {
|
|
8205
|
+
background: rgb(148 163 184 / 16%);
|
|
8206
|
+
color: #2563eb;
|
|
8207
|
+
}
|
|
8208
|
+
|
|
8209
|
+
.fleetbase-ai-create-order-preview__inline-select,
|
|
8210
|
+
.fleetbase-ai-create-order-preview__inline-native-select,
|
|
8211
|
+
.fleetbase-ai-create-order-preview__inline-datetime,
|
|
8212
|
+
.fleetbase-ai-create-order-preview__inline-textarea {
|
|
8213
|
+
width: 100%;
|
|
8214
|
+
min-height: 24px;
|
|
8215
|
+
border: 0;
|
|
8216
|
+
background: transparent;
|
|
8217
|
+
color: #0f172a;
|
|
8218
|
+
font-size: 12px;
|
|
8219
|
+
line-height: 1.25;
|
|
8220
|
+
outline: 0;
|
|
8221
|
+
box-shadow: none;
|
|
8222
|
+
}
|
|
8223
|
+
|
|
8224
|
+
.fleetbase-ai-create-order-preview__inline-select.ember-power-select-trigger {
|
|
8225
|
+
display: flex;
|
|
8226
|
+
min-height: 24px;
|
|
8227
|
+
align-items: center;
|
|
8228
|
+
border: 0;
|
|
8229
|
+
border-radius: 0;
|
|
8230
|
+
background: transparent;
|
|
8231
|
+
padding: 0;
|
|
8232
|
+
color: #0f172a;
|
|
8233
|
+
box-shadow: none;
|
|
8234
|
+
}
|
|
8235
|
+
|
|
8236
|
+
.fleetbase-ai-create-order-preview .ember-power-select-trigger,
|
|
8237
|
+
.fleetbase-ai-create-order-preview .ember-basic-dropdown-trigger,
|
|
8238
|
+
.fleetbase-ai-create-order-preview .ember-model-select,
|
|
8239
|
+
.fleetbase-ai-create-order-preview .fleetbase-model-select,
|
|
8240
|
+
.fleetbase-ai-create-order-preview .ember-power-select-status-icon,
|
|
8241
|
+
.fleetbase-ai-create-order-preview .ember-power-select-clear-btn {
|
|
8242
|
+
border: 0;
|
|
8243
|
+
background: transparent;
|
|
8244
|
+
box-shadow: none;
|
|
8245
|
+
}
|
|
8246
|
+
|
|
8247
|
+
.fleetbase-ai-create-order-preview .ember-power-select-trigger {
|
|
8248
|
+
min-height: 24px;
|
|
8249
|
+
padding: 0;
|
|
8250
|
+
}
|
|
8251
|
+
|
|
8252
|
+
.fleetbase-ai-create-order-preview .ember-power-select-status-icon {
|
|
8253
|
+
right: 0;
|
|
8254
|
+
width: 12px;
|
|
8255
|
+
height: 12px;
|
|
8256
|
+
}
|
|
8257
|
+
|
|
8258
|
+
.fleetbase-ai-create-order-preview .ember-power-select-clear-btn {
|
|
8259
|
+
right: 14px;
|
|
8260
|
+
color: #94a3b8;
|
|
8261
|
+
}
|
|
8262
|
+
|
|
8263
|
+
.fleetbase-ai-create-order-preview .ember-power-select-search-input,
|
|
8264
|
+
.fleetbase-ai-create-order-preview .ember-power-select-search-input:focus {
|
|
8265
|
+
border: 0;
|
|
8266
|
+
background: transparent;
|
|
8267
|
+
color: inherit;
|
|
8268
|
+
outline: 0;
|
|
8269
|
+
box-shadow: none;
|
|
8270
|
+
}
|
|
8271
|
+
|
|
8272
|
+
.fleetbase-ai-create-order-preview__inline-select .ember-power-select-selected-item,
|
|
8273
|
+
.fleetbase-ai-create-order-preview__inline-select .ember-power-select-placeholder {
|
|
8274
|
+
overflow: hidden;
|
|
8275
|
+
margin-left: 0;
|
|
8276
|
+
margin-right: 16px;
|
|
8277
|
+
color: inherit;
|
|
8278
|
+
font-size: 12px;
|
|
8279
|
+
line-height: 1.25;
|
|
8280
|
+
text-overflow: ellipsis;
|
|
8281
|
+
white-space: nowrap;
|
|
8282
|
+
}
|
|
8283
|
+
|
|
8284
|
+
.fleetbase-ai-create-order-preview__inline-native-select {
|
|
8285
|
+
width: auto;
|
|
8286
|
+
max-width: 150px;
|
|
8287
|
+
appearance: none;
|
|
8288
|
+
border-radius: 0;
|
|
8289
|
+
padding: 0 16px 0 0;
|
|
8290
|
+
font-weight: 650;
|
|
8291
|
+
cursor: pointer;
|
|
8292
|
+
}
|
|
8293
|
+
|
|
8294
|
+
.fleetbase-ai-create-order-preview__inline-textarea {
|
|
8295
|
+
resize: vertical;
|
|
8296
|
+
}
|
|
8297
|
+
|
|
8298
|
+
.fleetbase-ai-create-order-preview__inline-datetime,
|
|
8299
|
+
.fleetbase-ai-create-order-preview__inline-datetime input {
|
|
8300
|
+
border: 0;
|
|
8301
|
+
background: transparent;
|
|
8302
|
+
padding: 0;
|
|
8303
|
+
color: inherit;
|
|
8304
|
+
font-size: 12px;
|
|
8305
|
+
line-height: 1.25;
|
|
8306
|
+
outline: 0;
|
|
8307
|
+
box-shadow: none;
|
|
8308
|
+
}
|
|
8309
|
+
|
|
8310
|
+
.fleetbase-ai-create-order-preview__inline-datetime {
|
|
8311
|
+
display: grid;
|
|
8312
|
+
grid-template-columns: minmax(0, 1.15fr) minmax(0, 0.85fr);
|
|
8313
|
+
gap: 6px;
|
|
8314
|
+
}
|
|
8315
|
+
|
|
8316
|
+
.fleetbase-ai-create-order-preview__inline-datetime input {
|
|
8317
|
+
width: 100%;
|
|
8318
|
+
min-width: 0;
|
|
8319
|
+
}
|
|
8320
|
+
|
|
8321
|
+
.fleetbase-ai-create-order-preview__toggles {
|
|
8322
|
+
display: flex;
|
|
8323
|
+
flex-direction: column;
|
|
8324
|
+
gap: 8px;
|
|
8325
|
+
}
|
|
8326
|
+
|
|
8327
|
+
.fleetbase-ai-create-order-preview__toggle-row {
|
|
8328
|
+
display: flex;
|
|
8329
|
+
min-height: 28px;
|
|
8330
|
+
align-items: center;
|
|
8331
|
+
justify-content: space-between;
|
|
8332
|
+
gap: 10px;
|
|
8333
|
+
border-top: 1px solid rgb(148 163 184 / 14%);
|
|
8334
|
+
padding: 7px 2px 0;
|
|
8335
|
+
}
|
|
8336
|
+
|
|
8337
|
+
.fleetbase-ai-create-order-preview__inline-pill {
|
|
8338
|
+
display: inline-flex;
|
|
8339
|
+
align-items: center;
|
|
8340
|
+
gap: 5px;
|
|
8341
|
+
border: 0;
|
|
8342
|
+
border-radius: 999px;
|
|
8343
|
+
background: rgb(148 163 184 / 14%);
|
|
8344
|
+
padding: 3px 7px;
|
|
8345
|
+
color: #475569;
|
|
8346
|
+
font-size: 11px;
|
|
8347
|
+
line-height: 1;
|
|
8348
|
+
}
|
|
8349
|
+
|
|
8350
|
+
.fleetbase-ai-create-order-preview__inline-pill:hover {
|
|
8351
|
+
background: rgb(37 99 235 / 14%);
|
|
8352
|
+
color: #2563eb;
|
|
8353
|
+
}
|
|
8354
|
+
|
|
8355
|
+
.fleetbase-ai-create-order-preview__select-label {
|
|
8356
|
+
overflow: hidden;
|
|
8357
|
+
color: #0f172a;
|
|
8358
|
+
font-size: 12px;
|
|
8359
|
+
font-weight: 600;
|
|
8360
|
+
line-height: 1.25;
|
|
8361
|
+
text-overflow: ellipsis;
|
|
8362
|
+
text-transform: uppercase;
|
|
8363
|
+
white-space: nowrap;
|
|
8364
|
+
}
|
|
8365
|
+
|
|
8366
|
+
.fleetbase-ai-create-order-preview__controls {
|
|
8367
|
+
display: flex;
|
|
8368
|
+
align-items: center;
|
|
8369
|
+
gap: 8px;
|
|
8370
|
+
}
|
|
8371
|
+
|
|
8372
|
+
.fleetbase-ai-create-order-preview__refreshing {
|
|
8373
|
+
color: #64748b;
|
|
8374
|
+
font-size: 11px;
|
|
8375
|
+
}
|
|
8376
|
+
|
|
8377
|
+
.fleetbase-ai-create-order-preview__applying,
|
|
8378
|
+
.fleetbase-ai-create-order-preview__completed,
|
|
8379
|
+
.fleetbase-ai-create-order-preview__cancelled {
|
|
8380
|
+
display: flex;
|
|
8381
|
+
align-items: center;
|
|
8382
|
+
gap: 7px;
|
|
8383
|
+
border-radius: 7px;
|
|
8384
|
+
padding: 8px 9px;
|
|
8385
|
+
font-size: 12px;
|
|
8386
|
+
}
|
|
8387
|
+
|
|
8388
|
+
.fleetbase-ai-create-order-preview__applying {
|
|
8389
|
+
border: 1px solid rgb(96 165 250 / 20%);
|
|
8390
|
+
background: rgb(37 99 235 / 10%);
|
|
8391
|
+
color: #1d4ed8;
|
|
8392
|
+
}
|
|
8393
|
+
|
|
8394
|
+
.fleetbase-ai-create-order-preview__magic-loader {
|
|
8395
|
+
display: inline-flex;
|
|
8396
|
+
align-items: center;
|
|
8397
|
+
gap: 3px;
|
|
8398
|
+
}
|
|
8399
|
+
|
|
8400
|
+
.fleetbase-ai-create-order-preview__magic-loader span {
|
|
8401
|
+
width: 5px;
|
|
8402
|
+
height: 5px;
|
|
8403
|
+
border-radius: 999px;
|
|
8404
|
+
background: currentcolor;
|
|
8405
|
+
opacity: 0.45;
|
|
8406
|
+
animation: fleetbase-ai-create-order-dot 900ms ease-in-out infinite;
|
|
8407
|
+
}
|
|
8408
|
+
|
|
8409
|
+
.fleetbase-ai-create-order-preview__magic-loader span:nth-child(2) {
|
|
8410
|
+
animation-delay: 120ms;
|
|
8411
|
+
}
|
|
8412
|
+
|
|
8413
|
+
.fleetbase-ai-create-order-preview__magic-loader span:nth-child(3) {
|
|
8414
|
+
animation-delay: 240ms;
|
|
8415
|
+
}
|
|
8416
|
+
|
|
8417
|
+
@keyframes fleetbase-ai-create-order-dot {
|
|
8418
|
+
0%,
|
|
8419
|
+
80%,
|
|
8420
|
+
100% {
|
|
8421
|
+
opacity: 0.35;
|
|
8422
|
+
transform: translateY(0);
|
|
8423
|
+
}
|
|
8424
|
+
|
|
8425
|
+
40% {
|
|
8426
|
+
opacity: 1;
|
|
8427
|
+
transform: translateY(-2px);
|
|
8428
|
+
}
|
|
8429
|
+
}
|
|
8430
|
+
|
|
8431
|
+
.fleetbase-ai-create-order-preview__completed {
|
|
8432
|
+
border: 1px solid rgb(34 197 94 / 20%);
|
|
8433
|
+
background: rgb(22 163 74 / 10%);
|
|
8434
|
+
color: #166534;
|
|
8435
|
+
}
|
|
8436
|
+
|
|
8437
|
+
.fleetbase-ai-create-order-preview__completed-icon {
|
|
8438
|
+
display: inline-flex;
|
|
8439
|
+
width: 26px;
|
|
8440
|
+
height: 26px;
|
|
8441
|
+
flex: 0 0 26px;
|
|
8442
|
+
align-items: center;
|
|
8443
|
+
justify-content: center;
|
|
8444
|
+
border-radius: 999px;
|
|
8445
|
+
background: rgb(34 197 94 / 16%);
|
|
8446
|
+
}
|
|
8447
|
+
|
|
8448
|
+
.fleetbase-ai-create-order-preview__completed-copy {
|
|
8449
|
+
display: flex;
|
|
8450
|
+
min-width: 0;
|
|
8451
|
+
flex: 1 1 auto;
|
|
8452
|
+
flex-direction: column;
|
|
8453
|
+
gap: 2px;
|
|
8454
|
+
}
|
|
8455
|
+
|
|
8456
|
+
.fleetbase-ai-create-order-preview__completed-copy strong,
|
|
8457
|
+
.fleetbase-ai-create-order-preview__completed-copy span {
|
|
8458
|
+
overflow: hidden;
|
|
8459
|
+
text-overflow: ellipsis;
|
|
8460
|
+
white-space: nowrap;
|
|
8461
|
+
}
|
|
8462
|
+
|
|
8463
|
+
.fleetbase-ai-create-order-preview__completed-copy span {
|
|
8464
|
+
opacity: 0.8;
|
|
8465
|
+
}
|
|
8466
|
+
|
|
8467
|
+
.fleetbase-ai-create-order-preview__cancelled {
|
|
8468
|
+
border: 1px solid rgb(239 68 68 / 20%);
|
|
8469
|
+
background: rgb(239 68 68 / 10%);
|
|
8470
|
+
color: #991b1b;
|
|
8471
|
+
}
|
|
8472
|
+
|
|
8473
|
+
body[data-theme='dark'] .fleetbase-ai-create-order-preview__map,
|
|
8474
|
+
body[data-theme='dark'] .fleetbase-ai-create-order-preview__field-row:hover,
|
|
8475
|
+
body[data-theme='dark'] .fleetbase-ai-create-order-preview__field-row:focus-within {
|
|
8476
|
+
border-color: rgb(148 163 184 / 20%);
|
|
8477
|
+
background: rgb(15 23 42 / 30%);
|
|
8478
|
+
}
|
|
8479
|
+
|
|
8480
|
+
body[data-theme='dark'] .fleetbase-ai-create-order-preview__field-copy > strong,
|
|
8481
|
+
body[data-theme='dark'] .fleetbase-ai-create-order-preview__inline-select,
|
|
8482
|
+
body[data-theme='dark'] .fleetbase-ai-create-order-preview__inline-native-select,
|
|
8483
|
+
body[data-theme='dark'] .fleetbase-ai-create-order-preview__inline-datetime,
|
|
8484
|
+
body[data-theme='dark'] .fleetbase-ai-create-order-preview__inline-textarea,
|
|
8485
|
+
body[data-theme='dark'] .fleetbase-ai-create-order-preview__inline-select.ember-power-select-trigger,
|
|
8486
|
+
body[data-theme='dark'] .fleetbase-ai-create-order-preview__select-label {
|
|
8487
|
+
color: #f8fafc;
|
|
8488
|
+
}
|
|
8489
|
+
|
|
8490
|
+
body[data-theme='dark'] .fleetbase-ai-create-order-preview__field-copy > span,
|
|
8491
|
+
body[data-theme='dark'] .fleetbase-ai-create-order-preview__edit-button,
|
|
8492
|
+
body[data-theme='dark'] .fleetbase-ai-create-order-preview__refreshing,
|
|
8493
|
+
body[data-theme='dark'] .fleetbase-ai-create-order-preview__empty-map {
|
|
8494
|
+
color: #cbd5e1;
|
|
8495
|
+
}
|
|
8496
|
+
|
|
8497
|
+
body[data-theme='dark'] .fleetbase-ai-create-order-preview__toggle-row {
|
|
8498
|
+
border-top-color: rgb(148 163 184 / 18%);
|
|
8499
|
+
}
|
|
8500
|
+
|
|
8501
|
+
body[data-theme='dark'] .fleetbase-ai-create-order-preview__inline-pill {
|
|
8502
|
+
background: rgb(148 163 184 / 14%);
|
|
8503
|
+
color: #cbd5e1;
|
|
8504
|
+
}
|
|
8505
|
+
|
|
8506
|
+
body[data-theme='dark'] .fleetbase-ai-create-order-preview__inline-pill:hover {
|
|
8507
|
+
background: rgb(96 165 250 / 14%);
|
|
8508
|
+
color: #bfdbfe;
|
|
8509
|
+
}
|
|
8510
|
+
|
|
8511
|
+
body[data-theme='dark'] .fleetbase-ai-create-order-preview__applying {
|
|
8512
|
+
border-color: rgb(96 165 250 / 24%);
|
|
8513
|
+
background: rgb(30 64 175 / 24%);
|
|
8514
|
+
color: #bfdbfe;
|
|
8515
|
+
}
|
|
8516
|
+
|
|
8517
|
+
body[data-theme='dark'] .fleetbase-ai-create-order-preview__completed {
|
|
8518
|
+
border-color: rgb(74 222 128 / 22%);
|
|
8519
|
+
background: rgb(20 83 45 / 28%);
|
|
8520
|
+
color: #bbf7d0;
|
|
8521
|
+
}
|
|
8522
|
+
|
|
8523
|
+
body[data-theme='dark'] .fleetbase-ai-create-order-preview__completed-icon {
|
|
8524
|
+
background: rgb(34 197 94 / 18%);
|
|
8525
|
+
}
|
|
8526
|
+
|
|
8527
|
+
body[data-theme='dark'] .fleetbase-ai-create-order-preview__cancelled {
|
|
8528
|
+
border-color: rgb(248 113 113 / 22%);
|
|
8529
|
+
background: rgb(127 29 29 / 22%);
|
|
8530
|
+
color: #fecaca;
|
|
8531
|
+
}
|
|
8532
|
+
|
|
8533
|
+
@media (prefers-reduced-motion: reduce) {
|
|
8534
|
+
.fleetbase-ai-create-order-preview__magic-loader span {
|
|
8535
|
+
animation: none;
|
|
8536
|
+
}
|
|
8537
|
+
}
|
|
@@ -1,17 +1,15 @@
|
|
|
1
1
|
export default function calculateMapDrawerDropdownPosition(trigger, content) {
|
|
2
|
-
const dropdownRoot = trigger?.closest?.('.ember-basic-dropdown');
|
|
3
2
|
const drawerPanel = trigger?.closest?.('.next-drawer-panel');
|
|
4
3
|
|
|
5
|
-
if (!trigger
|
|
4
|
+
if (!trigger) {
|
|
6
5
|
return { style: {} };
|
|
7
6
|
}
|
|
8
7
|
|
|
9
8
|
const triggerRect = trigger.getBoundingClientRect();
|
|
10
|
-
const rootRect = dropdownRoot.getBoundingClientRect();
|
|
11
9
|
const drawerRect = drawerPanel?.getBoundingClientRect?.();
|
|
12
10
|
const contentRect = content?.getBoundingClientRect?.();
|
|
13
11
|
const contentWidth = contentRect?.width || 224;
|
|
14
|
-
|
|
12
|
+
const contentHeight = contentRect?.height || 240;
|
|
15
13
|
const gap = 6;
|
|
16
14
|
|
|
17
15
|
const viewportRect = {
|
|
@@ -21,21 +19,21 @@ export default function calculateMapDrawerDropdownPosition(trigger, content) {
|
|
|
21
19
|
left: 0,
|
|
22
20
|
};
|
|
23
21
|
const boundaryRect = drawerRect ?? viewportRect;
|
|
24
|
-
const minLeft = boundaryRect.left
|
|
25
|
-
const maxLeft = boundaryRect.right -
|
|
26
|
-
|
|
27
|
-
|
|
22
|
+
const minLeft = boundaryRect.left + gap;
|
|
23
|
+
const maxLeft = boundaryRect.right - contentWidth - gap;
|
|
24
|
+
const minTop = boundaryRect.top;
|
|
25
|
+
const maxTop = boundaryRect.bottom - contentHeight + 8;
|
|
28
26
|
|
|
29
|
-
const preferredLeft = triggerRect.left -
|
|
30
|
-
|
|
27
|
+
const preferredLeft = triggerRect.left - contentWidth - gap;
|
|
28
|
+
const preferredTop = triggerRect.top;
|
|
31
29
|
const left = clamp(preferredLeft, minLeft, Math.max(minLeft, maxLeft));
|
|
32
|
-
const top =
|
|
30
|
+
const top = clamp(preferredTop, minTop, Math.max(minTop, maxTop));
|
|
33
31
|
|
|
34
32
|
return {
|
|
35
33
|
style: {
|
|
36
34
|
position: 'absolute',
|
|
37
|
-
left
|
|
38
|
-
top
|
|
35
|
+
left,
|
|
36
|
+
top,
|
|
39
37
|
marginTop: '0px',
|
|
40
38
|
zIndex: '10000',
|
|
41
39
|
},
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export { default } from '@fleetbase/fleetops-engine/components/ai/create-order-preview';
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export { default } from '@fleetbase/fleetops-engine/components/ai/route-preview-map';
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export { default } from '@fleetbase/fleetops-engine/components/fleet/hierarchy-tree';
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export { default } from '@fleetbase/fleetops-engine/services/route-engine';
|
package/composer.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "fleetbase/fleetops-api",
|
|
3
|
-
"version": "0.6.
|
|
3
|
+
"version": "0.6.58",
|
|
4
4
|
"description": "Fleet & Transport Management Extension for Fleetbase",
|
|
5
5
|
"keywords": [
|
|
6
6
|
"fleetbase-extension",
|
|
@@ -86,10 +86,17 @@
|
|
|
86
86
|
}
|
|
87
87
|
},
|
|
88
88
|
"scripts": {
|
|
89
|
+
"coverage:baseline": [
|
|
90
|
+
"@test:coverage:clover",
|
|
91
|
+
"@coverage:summary"
|
|
92
|
+
],
|
|
93
|
+
"coverage:summary": "php scripts/coverage-summary.php coverage/clover.xml",
|
|
89
94
|
"lint": "php-cs-fixer fix -v",
|
|
90
95
|
"test:lint": "php-cs-fixer fix -v --dry-run",
|
|
96
|
+
"test:coverage": "php scripts/coverage-runner.php --coverage --coverage-text --colors=always",
|
|
97
|
+
"test:coverage:clover": "mkdir -p coverage && php scripts/coverage-runner.php --coverage-clover=coverage/clover.xml --colors=always",
|
|
91
98
|
"test:types": "phpstan analyse --ansi --memory-limit=4G",
|
|
92
|
-
"test:unit": "pest --colors=always",
|
|
99
|
+
"test:unit": "php scripts/pest-file-runner.php --colors=always",
|
|
93
100
|
"test": [
|
|
94
101
|
"@test:lint",
|
|
95
102
|
"@test:types",
|
package/extension.json
CHANGED
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@fleetbase/fleetops-engine",
|
|
3
|
-
"version": "0.6.
|
|
3
|
+
"version": "0.6.58",
|
|
4
4
|
"description": "Fleet & Transport Management Extension for Fleetbase",
|
|
5
5
|
"fleetbase": {
|
|
6
6
|
"route": "fleet-ops"
|
|
@@ -25,7 +25,9 @@
|
|
|
25
25
|
"scripts": {
|
|
26
26
|
"build": "ember build --environment=production",
|
|
27
27
|
"lint": "concurrently \"npm:lint:*(!fix)\" --names \"lint:\"",
|
|
28
|
-
"
|
|
28
|
+
"check:css-alpha": "node scripts/normalize-rgba-alpha.js --check",
|
|
29
|
+
"fix:css-alpha": "node scripts/normalize-rgba-alpha.js",
|
|
30
|
+
"lint:css": "npm run check:css-alpha && stylelint \"**/*.css\"",
|
|
29
31
|
"lint:css:fix": "concurrently \"npm:lint:css -- --fix\"",
|
|
30
32
|
"lint:fix": "concurrently \"npm:lint:*:fix\" --names \"fix:\"",
|
|
31
33
|
"lint:hbs": "ember-template-lint .",
|
|
@@ -42,8 +44,8 @@
|
|
|
42
44
|
},
|
|
43
45
|
"dependencies": {
|
|
44
46
|
"@babel/core": "^7.23.2",
|
|
45
|
-
"@fleetbase/ember-core": "^0.3.
|
|
46
|
-
"@fleetbase/ember-ui": "^0.3.
|
|
47
|
+
"@fleetbase/ember-core": "^0.3.24",
|
|
48
|
+
"@fleetbase/ember-ui": "^0.3.41",
|
|
47
49
|
"@fleetbase/fleetops-data": "^0.1.40",
|
|
48
50
|
"@fleetbase/leaflet-routing-machine": "^3.2.17",
|
|
49
51
|
"@fortawesome/ember-fontawesome": "^2.0.0",
|
package/phpunit.xml.dist
CHANGED
|
@@ -8,9 +8,9 @@
|
|
|
8
8
|
<directory suffix=".php">./server/tests</directory>
|
|
9
9
|
</testsuite>
|
|
10
10
|
</testsuites>
|
|
11
|
-
<
|
|
12
|
-
<
|
|
11
|
+
<source>
|
|
12
|
+
<include>
|
|
13
13
|
<directory suffix=".php">./server/src</directory>
|
|
14
|
-
</
|
|
15
|
-
</
|
|
14
|
+
</include>
|
|
15
|
+
</source>
|
|
16
16
|
</phpunit>
|
package/pnpm-workspace.yaml
CHANGED