diff --git a/.eslintrc.js b/.eslintrc.js
index cc589c7..4c82aca 100644
--- a/.eslintrc.js
+++ b/.eslintrc.js
@@ -30,6 +30,7 @@ module.exports = {
'error',
{
allowModules: [
+ 'resolve',
'postcss-import',
'postcss-preset-env',
'postcss-each',
diff --git a/addon/components/checkbox.hbs b/addon/components/checkbox.hbs
index 92b180d..7c2c593 100644
--- a/addon/components/checkbox.hbs
+++ b/addon/components/checkbox.hbs
@@ -1,5 +1,5 @@
{{#if this.visible}}
-
+
-
+
{{#if (has-block)}}
{{yield}}
{{else}}
@@ -9,5 +9,5 @@
{{@exampleText}}
{{/if}}
{{/if}}
-
+
\ No newline at end of file
diff --git a/addon/components/table/cell/checkbox.hbs b/addon/components/table/cell/checkbox.hbs
index 98c5cd9..c0ee579 100644
--- a/addon/components/table/cell/checkbox.hbs
+++ b/addon/components/table/cell/checkbox.hbs
@@ -1 +1 @@
-
\ No newline at end of file
+
\ No newline at end of file
diff --git a/addon/components/table/cell/checkbox.js b/addon/components/table/cell/checkbox.js
index 3bbf454..01e23ee 100644
--- a/addon/components/table/cell/checkbox.js
+++ b/addon/components/table/cell/checkbox.js
@@ -26,6 +26,17 @@ export default class TableCellCheckboxComponent extends Component {
*/
@tracked checked = false;
+ /**
+ * Creates an instance of TableCellCheckboxComponent.
+ * @param {ApplicationInstance} owner
+ * @param {...Arguments} { value = false }
+ * @memberof TableCellCheckboxComponent
+ */
+ constructor(owner, { value = false }) {
+ super(...arguments);
+ this.checked = value;
+ }
+
/**
* Toggles the checkbox and sends up an action
*
@@ -52,4 +63,15 @@ export default class TableCellCheckboxComponent extends Component {
onToggle(checked, row);
}
}
+
+ /**
+ * Track when the value argument changes
+ *
+ * @param {HTMLElement} el
+ * @param {Array} [value = false]
+ * @memberof TableCellCheckboxComponent
+ */
+ @action trackValue(el, [value = false]) {
+ this.checked = value;
+ }
}
diff --git a/addon/components/table/cell/vehicle-name.hbs b/addon/components/table/cell/vehicle-name.hbs
index d4d29b2..088424c 100644
--- a/addon/components/table/cell/vehicle-name.hbs
+++ b/addon/components/table/cell/vehicle-name.hbs
@@ -4,7 +4,7 @@
@fallbackSrc={{config "defaultValues.vehicleAvatar"}}
data-vehicle={{@row.id}}
alt={{this.altText}}
- class="w-6 h-6 rounded-md {{if @column.hasOnline 'mx-2' 'mr-2'}}"
+ class="w-5 h-5 rounded-md {{if @column.hasOnline 'mx-2' 'mr-2'}}"
/>
@@ -18,6 +18,6 @@
{{#if @column.showOnlineIndicator}}
-
+
{{/if}}
\ No newline at end of file
diff --git a/addon/utils/load-assets.js b/addon/utils/load-assets.js
new file mode 100644
index 0000000..ce07383
--- /dev/null
+++ b/addon/utils/load-assets.js
@@ -0,0 +1,42 @@
+import { later } from '@ember/runloop';
+
+export default function loadAssets(assets = { basePath: '', scripts: [], stylesheets: [], globalIndicatorKey: null }) {
+ // Set global indicator key if applicable
+ if (assets.globalIndicatorKey && typeof assets.globalIndicatorKey === 'string') {
+ window[assets.globalIndicatorKey] = false;
+ }
+
+ // Prepare base path
+ const path = `/${assets.basePath ? assets.basePath + '/' : ''}`;
+
+ // Define exports on window
+ const exportsScript = document.createElement('script');
+ exportsScript.innerHTML = 'window.exports = window.exports || {};';
+ document.body.appendChild(exportsScript);
+
+ // Insert scripts
+ for (let i = 0; i < assets.scripts.length; i++) {
+ const script = document.createElement('script');
+ script.src = path + assets.scripts[i];
+ document.body.appendChild(script);
+ }
+
+ // Insert stylesheets
+ for (let i = 0; i < assets.stylesheets.length; i++) {
+ const link = document.createElement('link');
+ link.rel = 'stylesheet';
+ link.href = path + assets.stylesheets[i];
+ document.body.appendChild(link);
+ }
+
+ // Update global indicator key
+ later(
+ this,
+ () => {
+ if (assets.globalIndicatorKey && typeof assets.globalIndicatorKey === 'string') {
+ window[assets.globalIndicatorKey] = true;
+ }
+ },
+ 300
+ );
+}
diff --git a/addon/utils/load-leaflet-plugins.js b/addon/utils/load-leaflet-plugins.js
new file mode 100644
index 0000000..87f087e
--- /dev/null
+++ b/addon/utils/load-leaflet-plugins.js
@@ -0,0 +1,6 @@
+import loadAssets from './load-assets';
+
+export default function loadLeafletPlugins(assets = { basePath: null, scripts: [], stylesheets: [], globalIndicatorKey: null }) {
+ const basePath = assets.basePath ?? 'engines-dist/leaflet';
+ loadAssets({ basePath, ...assets });
+}
diff --git a/app/utils/load-assets.js b/app/utils/load-assets.js
new file mode 100644
index 0000000..b89168b
--- /dev/null
+++ b/app/utils/load-assets.js
@@ -0,0 +1 @@
+export { default } from '@fleetbase/ember-ui/utils/load-assets';
diff --git a/app/utils/load-leaflet-plugins.js b/app/utils/load-leaflet-plugins.js
new file mode 100644
index 0000000..a1d26d0
--- /dev/null
+++ b/app/utils/load-leaflet-plugins.js
@@ -0,0 +1 @@
+export { default } from '@fleetbase/ember-ui/utils/load-leaflet-plugins';
diff --git a/index.js b/index.js
index cf72c25..88ed103 100644
--- a/index.js
+++ b/index.js
@@ -2,6 +2,7 @@
const { name } = require('./package');
const Funnel = require('broccoli-funnel');
const MergeTrees = require('broccoli-merge-trees');
+const resolve = require('resolve');
const path = require('path');
const postcssImport = require('postcss-import');
const postcssPresetEnv = require('postcss-preset-env');
@@ -60,12 +61,40 @@ module.exports = {
this.import('node_modules/intl-tel-input/build/css/intlTelInput.min.css');
},
- treeForPublic: function () {
- const publicTree = this._super.treeForPublic.apply(this, arguments);
+ treeForLeaflet: function () {
+ const trees = [];
+ const leafletImagesPath = path.join(this.pathBase('leaflet'), 'dist', 'images');
+ const alwaysExclude = ['LICENSE', 'package.json', 'example.html'];
+ const leafletAddons = [{ package: 'leaflet', include: ['leaflet-src.js'], exclude: [...alwaysExclude], path: ['dist'] }];
+
+ for (let i = 0; i < leafletAddons.length; i++) {
+ const leafletAdddon = leafletAddons[i];
+ const leafletAddonDist = path.join(this.pathBase(leafletAdddon.package), ...leafletAdddon.path);
- // Use a Funnel to copy the `utils.js` file to `assets/libphonenumber`
+ trees.push(
+ new Funnel(leafletAddonDist, {
+ destDir: 'leaflet',
+ include: leafletAdddon.include,
+ exclude: leafletAdddon.exclude,
+ getDestinationPath: leafletAdddon.getDestinationPath,
+ })
+ );
+ }
+
+ trees.push(
+ new Funnel(leafletImagesPath, {
+ srcDir: '/',
+ destDir: '/leaflet-images',
+ allowEmpty: true,
+ })
+ );
+
+ return trees;
+ },
+
+ treeForIntlTelInput: function () {
const intlTelInputPath = path.dirname(require.resolve('intl-tel-input')).replace(/build\/js$/, '');
- const addonTree = [
+ const trees = [
new Funnel(`${intlTelInputPath}/build/js`, {
include: ['utils.js'],
destDir: 'assets/libphonenumber',
@@ -82,10 +111,27 @@ module.exports = {
}),
];
- // Merge the addon tree with the existing tree
+ return trees;
+ },
+
+ mergeWithPublicTree: function (publicTree) {
+ const intlTelInputTree = this.treeForIntlTelInput();
+ const leafletTree = this.treeForLeaflet();
+ const addonTree = [...intlTelInputTree, ...leafletTree];
+
return publicTree ? new MergeTrees([publicTree, ...addonTree], { overwrite: true }) : new MergeTrees([...addonTree], { overwrite: true });
},
+ treeForPublic: function () {
+ const publicTree = this._super.treeForPublic.apply(this, arguments);
+
+ return this.mergeWithPublicTree(publicTree);
+ },
+
+ pathBase(packageName) {
+ return path.dirname(resolve.sync(packageName + '/package.json', { basedir: __dirname }));
+ },
+
isDevelopingAddon: function () {
return true;
},
diff --git a/package.json b/package.json
index f165afb..45ec9af 100644
--- a/package.json
+++ b/package.json
@@ -1,6 +1,6 @@
{
"name": "@fleetbase/ember-ui",
- "version": "0.2.26",
+ "version": "0.2.27",
"description": "Fleetbase UI provides all the interface components, helpers, services and utilities for building a Fleetbase extension into the Console.",
"keywords": [
"fleetbase-ui",
@@ -91,6 +91,7 @@
"ember-get-config": "^2.1.1",
"ember-gridstack": "^4.0.0",
"ember-inflector": "^4.0.2",
+ "ember-leaflet": "^5.1.3",
"ember-loading": "^2.0.0",
"ember-math-helpers": "^4.0.0",
"ember-modifier": "^4.1.0",
@@ -106,6 +107,7 @@
"gridstack": "^7.3.0",
"imask": "^6.4.3",
"intl-tel-input": "^22.0.2",
+ "leaflet": "^1.9.4",
"postcss-at-rules-variables": "^0.3.0",
"postcss-conditionals-renewed": "^1.0.0",
"postcss-each": "^1.1.0",
@@ -152,6 +154,7 @@
"prettier": "^3.0.3",
"qunit": "^2.20.0",
"qunit-dom": "^2.0.0",
+ "resolve": "^1.22.8",
"stylelint": "^15.11.0",
"stylelint-config-standard": "^34.0.0",
"stylelint-prettier": "^4.0.2",
@@ -186,7 +189,8 @@
},
"pnpm": {
"patchedDependencies": {
- "ember-gridstack@4.0.0": "patches/ember-gridstack@4.0.0.patch"
+ "ember-gridstack@4.0.0": "patches/ember-gridstack@4.0.0.patch",
+ "ember-leaflet@5.1.3": "patches/ember-leaflet@5.1.3.patch"
}
}
}
diff --git a/patches/ember-leaflet@5.1.3.patch b/patches/ember-leaflet@5.1.3.patch
new file mode 100644
index 0000000..069de38
--- /dev/null
+++ b/patches/ember-leaflet@5.1.3.patch
@@ -0,0 +1,111 @@
+diff --git a/index.js b/index.js
+index 7361871adfe0b79c70a3699e38cc435f3741cb33..fe08a429d35283691de28f3dc73ef7ec8bec76cb 100644
+--- a/index.js
++++ b/index.js
+@@ -1,36 +1,18 @@
+-'use strict';
+-const resolve = require('resolve');
+-const path = require('path');
+-const mergeTrees = require('broccoli-merge-trees');
+-const Funnel = require('broccoli-funnel');
+-const fastbootTransform = require('fastboot-transform');
++'use strict'
++const resolve = require('resolve')
++const path = require('path')
++const mergeTrees = require('broccoli-merge-trees')
++const Funnel = require('broccoli-funnel')
++const fastbootTransform = require('fastboot-transform')
+
+ module.exports = {
+ name: require('./package').name,
+
+- treeForVendor() {
+- let dist = path.join(this.pathBase('leaflet'), 'dist');
+-
+- let leafletJs = fastbootTransform(
+- new Funnel(dist, {
+- files: ['leaflet-src.js'],
+- destDir: 'leaflet'
+- })
+- );
+-
+- let leafletFiles = new Funnel(dist, {
+- exclude: ['leaflet.js', 'leaflet-src.js', '*.html'],
+- destDir: 'leaflet'
+- });
+-
+- return mergeTrees([leafletJs, leafletFiles]);
+- },
+-
+- included(app) {
+- this._super.included.apply(this, arguments);
++ included (app) {
++ this._super.included.apply(this, arguments)
+
+ // Addon options from the apps ember-cli-build.js
+- let options = app.options[this.name] || {};
++ let options = app.options[this.name] || {}
+
+ // If the addon has the _findHost() method (in ember-cli >= 2.7.0), we'll just
+ // use that.
+@@ -42,46 +24,22 @@ module.exports = {
+ // method in ember-cli.
+ // Keep iterating upward until we don't have a grandparent.
+ // Has to do this grandparent check because at some point we hit the project.
+- let current = this;
++ let current = this
+ do {
+- if (current.lazyLoading === true || (current.lazyLoading && current.lazyLoading.enabled === true)) {
+- app = current;
+- break;
++ if (
++ current.lazyLoading === true ||
++ (current.lazyLoading && current.lazyLoading.enabled === true)
++ ) {
++ app = current
++ break
+ }
+- app = current.app || app;
+- } while (current.parent.parent && (current = current.parent));
+-
+- if (!options.excludeJS) {
+- app.import('vendor/leaflet/leaflet-src.js');
+- }
+-
+- // Import leaflet css
+- if (!options.excludeCSS) {
+- app.import('vendor/leaflet/leaflet.css');
+- }
+-
+- // Import leaflet images
+- if (!options.excludeImages) {
+- let imagesDestDir = '/assets/images';
+- app.import('vendor/leaflet/images/layers-2x.png', {
+- destDir: imagesDestDir
+- });
+- app.import('vendor/leaflet/images/layers.png', {
+- destDir: imagesDestDir
+- });
+- app.import('vendor/leaflet/images/marker-icon-2x.png', {
+- destDir: imagesDestDir
+- });
+- app.import('vendor/leaflet/images/marker-icon.png', {
+- destDir: imagesDestDir
+- });
+- app.import('vendor/leaflet/images/marker-shadow.png', {
+- destDir: imagesDestDir
+- });
+- }
++ app = current.app || app
++ } while (current.parent.parent && (current = current.parent))
+ },
+
+- pathBase(packageName) {
+- return path.dirname(resolve.sync(packageName + '/package.json', { basedir: __dirname }));
++ pathBase (packageName) {
++ return path.dirname(
++ resolve.sync(packageName + '/package.json', { basedir: __dirname })
++ )
+ }
+-};
++}
diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml
index 6b37fa9..9fe7e03 100644
--- a/pnpm-lock.yaml
+++ b/pnpm-lock.yaml
@@ -8,6 +8,9 @@ patchedDependencies:
ember-gridstack@4.0.0:
hash: fwahdwiexnnbxgjkolq2q4epju
path: patches/ember-gridstack@4.0.0.patch
+ ember-leaflet@5.1.3:
+ hash: dno6ajw7riooqcbiwdjuvkwfhu
+ path: patches/ember-leaflet@5.1.3.patch
importers:
@@ -184,6 +187,9 @@ importers:
ember-inflector:
specifier: ^4.0.2
version: 4.0.3(ember-source@5.4.1(@babel/core@7.25.2)(@glimmer/component@1.1.2(@babel/core@7.25.2))(rsvp@4.8.5)(webpack@5.94.0))
+ ember-leaflet:
+ specifier: ^5.1.3
+ version: 5.1.3(patch_hash=dno6ajw7riooqcbiwdjuvkwfhu)(@babel/core@7.25.2)(ember-source@5.4.1(@babel/core@7.25.2)(@glimmer/component@1.1.2(@babel/core@7.25.2))(rsvp@4.8.5)(webpack@5.94.0))(leaflet@1.9.4)(webpack@5.94.0)
ember-loading:
specifier: ^2.0.0
version: 2.0.0(@babel/core@7.25.2)
@@ -229,6 +235,9 @@ importers:
intl-tel-input:
specifier: ^22.0.2
version: 22.0.2
+ leaflet:
+ specifier: ^1.9.4
+ version: 1.9.4
postcss-at-rules-variables:
specifier: ^0.3.0
version: 0.3.0(postcss@8.4.45)
@@ -362,6 +371,9 @@ importers:
qunit-dom:
specifier: ^2.0.0
version: 2.0.0
+ resolve:
+ specifier: ^1.22.8
+ version: 1.22.8
stylelint:
specifier: ^15.11.0
version: 15.11.0
@@ -3734,6 +3746,12 @@ packages:
resolution: {integrity: sha512-BtkjulweiXo9c3yVWrtexw2dTmBrvavD/xixNC6TKOBdrixUwU+6nuOO9dufDWsMxoid7MvtmDpzc9+mE8PdaA==}
engines: {node: 10.* || >= 12.*}
+ ember-composability-tools@1.3.0:
+ resolution: {integrity: sha512-KRIybkRlPWrymQFfW2UiDrbI6GDpXiqJLK+fxKZyaqf2Pb/vJmHShm55Bch90U2tcbG20UB4Tf+w+IpZA8Gi3w==}
+ engines: {node: 16.* || >= 18}
+ peerDependencies:
+ ember-source: ^3.8 || ^4.0.0 || >= 5.0.0
+
ember-composable-helpers@5.0.0:
resolution: {integrity: sha512-gyUrjiSju4QwNrsCLbBpP0FL6VDFZaELNW7Kbcp60xXhjvNjncYgzm4zzYXhT+i1lLA6WEgRZ3lOGgyBORYD0w==}
engines: {node: 12.* || 14.* || >= 16}
@@ -3829,12 +3847,23 @@ packages:
peerDependencies:
ember-source: ^4.0.0
+ ember-in-element-polyfill@1.0.1:
+ resolution: {integrity: sha512-eHs+7D7PuQr8a1DPqsJTsEyo3FZ1XuH6WEZaEBPDa9s0xLlwByCNKl8hi1EbXOgvgEZNHHi9Rh0vjxyfakrlgg==}
+ engines: {node: 10.* || >= 12}
+
ember-inflector@4.0.3:
resolution: {integrity: sha512-E+NnmzybMRWn1JyEfDxY7arjOTJLIcGjcXnUxizgjD4TlvO1s3O65blZt+Xq2C2AFSPeqHLC6PXd6XHYM8BxdQ==}
engines: {node: 14.* || 16.* || >= 18}
peerDependencies:
ember-source: ^3.16.0 || ^4.0.0 || ^5.0.0
+ ember-leaflet@5.1.3:
+ resolution: {integrity: sha512-7rzZePUCjapMzkE1SXsgSDQ28nG1w/WIMt80wf72UG4LIMHOGHibenk3naFllu1Np9wApCHxLB6x4ig8clt2Aw==}
+ engines: {node: 14.* || 16.* || >= 18}
+ peerDependencies:
+ ember-source: ^4.0.0 || ^5.0.0
+ leaflet: '>=0.7'
+
ember-load-initializers@2.1.2:
resolution: {integrity: sha512-CYR+U/wRxLbrfYN3dh+0Tb6mFaxJKfdyz+wNql6cqTrA0BBi9k6J3AaKXj273TqvEpyyXegQFFkZEiuZdYtgJw==}
engines: {node: 6.* || 8.* || >= 10.*}
@@ -3898,6 +3927,10 @@ packages:
resolution: {integrity: sha512-oEUU2mDtuYuMM039U9YEqrrOCVHH6rQfvbFOmh3WxOVEgubmLVyKEpGgU4P/6j0B/JxTqqTwM3ULTQyDto8dKg==}
engines: {node: 10.* || >= 12}
+ ember-render-helpers@0.2.0:
+ resolution: {integrity: sha512-MnqGS8BnY3GJ+n5RZVVRqCwKjfXXMr5quKyqNu1vxft8oslOJuZ1f1dOesQouD+6LwD4Y9tWRVKNw+LOqM9ocw==}
+ engines: {node: 8.* || >= 10.*}
+
ember-resolver@11.0.1:
resolution: {integrity: sha512-ucBk3oM+PR+AfYoSUXeQh8cDQS1sSiEKp4Pcgbew5cFMSqPxJfqd1zyZsfQKNTuyubeGmWxBOyMVSTvX2LeCyg==}
engines: {node: 14.* || 16.* || >= 18}
@@ -5337,6 +5370,9 @@ packages:
resolution: {integrity: sha512-M6T051+5QCGLBQb8id3hdvIW8+zeFV2FyBGFS9IEK5H9Wt4MueD4bW1eWikpHgZp+5xR3l5c8pZUkQsIA0BFZg==}
engines: {node: '>=8'}
+ leaflet@1.9.4:
+ resolution: {integrity: sha512-nxS1ynzJOmOlHp+iL3FyWqK89GtNL8U8rvlMOsQdTTssxZwCXh8N2NB3GDQOL+YR3XnWyZAxwQixURb+FA74PA==}
+
levn@0.4.1:
resolution: {integrity: sha512-+bT2uH4E5LGE7h/n3evcS/sQlJXCpIp6ym8OWJ5eV6+67Dsql/LaaT7qJBAt2rzfoa/5QBGBhxDix1dMt2kQKQ==}
engines: {node: '>= 0.8.0'}
@@ -6740,6 +6776,9 @@ packages:
resolution: {integrity: sha512-C9hAO4eoEsX+OXA4rla66pXZQ+TLQ8T9dttgQj18yuKlPMTVkIkdYXvlMC55IuUsIkV6DpmQYi10JKFLaU+l7w==}
engines: {node: '>=8'}
+ remote-promises@1.0.0:
+ resolution: {integrity: sha512-+9LztCwsGzC8VXvm9UuA3qGhLIf4HvMbbev0+A+azLLUYHm3BK4C1BWxiZa45FPQ7JdfpHi4kVT7zT5F2E0iuQ==}
+
remove-trailing-separator@1.1.0:
resolution: {integrity: sha512-/hS+Y0u3aOfIETiaiirUFwDBDzmXPvO+jAfKTitUngIPzdKc6Z0LoFjM/CK5PL4C+eKwHohlHAb6H0VFfmmUsw==}
@@ -12615,6 +12654,23 @@ snapshots:
- '@babel/core'
- supports-color
+ ember-composability-tools@1.3.0(ember-source@5.4.1(@babel/core@7.25.2)(@glimmer/component@1.1.2(@babel/core@7.25.2))(rsvp@4.8.5)(webpack@5.94.0))(webpack@5.94.0):
+ dependencies:
+ '@babel/core': 7.25.2
+ '@ember/render-modifiers': 2.1.0(@babel/core@7.25.2)(ember-source@5.4.1(@babel/core@7.25.2)(@glimmer/component@1.1.2(@babel/core@7.25.2))(rsvp@4.8.5)(webpack@5.94.0))
+ '@glimmer/component': 1.1.2(@babel/core@7.25.2)
+ ember-auto-import: 2.7.4(webpack@5.94.0)
+ ember-cli-babel: 8.2.0(@babel/core@7.25.2)
+ ember-cli-htmlbars: 6.3.0
+ ember-element-helper: 0.8.6(ember-source@5.4.1(@babel/core@7.25.2)(@glimmer/component@1.1.2(@babel/core@7.25.2))(rsvp@4.8.5)(webpack@5.94.0))
+ ember-source: 5.4.1(@babel/core@7.25.2)(@glimmer/component@1.1.2(@babel/core@7.25.2))(rsvp@4.8.5)(webpack@5.94.0)
+ remote-promises: 1.0.0
+ transitivePeerDependencies:
+ - '@glint/environment-ember-loose'
+ - '@glint/template'
+ - supports-color
+ - webpack
+
ember-composable-helpers@5.0.0:
dependencies:
'@babel/core': 7.25.2
@@ -12782,6 +12838,15 @@ snapshots:
- supports-color
- webpack
+ ember-in-element-polyfill@1.0.1:
+ dependencies:
+ debug: 4.3.7
+ ember-cli-babel: 7.26.11
+ ember-cli-htmlbars: 5.7.2
+ ember-cli-version-checker: 5.1.2
+ transitivePeerDependencies:
+ - supports-color
+
ember-inflector@4.0.3(ember-source@5.4.1(@babel/core@7.25.2)(@glimmer/component@1.1.2(@babel/core@7.25.2))(rsvp@4.8.5)(webpack@5.94.0)):
dependencies:
ember-cli-babel: 7.26.11
@@ -12789,6 +12854,28 @@ snapshots:
transitivePeerDependencies:
- supports-color
+ ember-leaflet@5.1.3(patch_hash=dno6ajw7riooqcbiwdjuvkwfhu)(@babel/core@7.25.2)(ember-source@5.4.1(@babel/core@7.25.2)(@glimmer/component@1.1.2(@babel/core@7.25.2))(rsvp@4.8.5)(webpack@5.94.0))(leaflet@1.9.4)(webpack@5.94.0):
+ dependencies:
+ '@glimmer/component': 1.1.2(@babel/core@7.25.2)
+ '@glimmer/tracking': 1.1.2
+ broccoli-funnel: 3.0.8
+ broccoli-merge-trees: 4.2.0
+ ember-cli-babel: 7.26.11
+ ember-cli-htmlbars: 6.3.0
+ ember-composability-tools: 1.3.0(ember-source@5.4.1(@babel/core@7.25.2)(@glimmer/component@1.1.2(@babel/core@7.25.2))(rsvp@4.8.5)(webpack@5.94.0))(webpack@5.94.0)
+ ember-in-element-polyfill: 1.0.1
+ ember-render-helpers: 0.2.0
+ ember-source: 5.4.1(@babel/core@7.25.2)(@glimmer/component@1.1.2(@babel/core@7.25.2))(rsvp@4.8.5)(webpack@5.94.0)
+ fastboot-transform: 0.1.3
+ leaflet: 1.9.4
+ resolve: 1.22.8
+ transitivePeerDependencies:
+ - '@babel/core'
+ - '@glint/environment-ember-loose'
+ - '@glint/template'
+ - supports-color
+ - webpack
+
ember-load-initializers@2.1.2(@babel/core@7.25.2):
dependencies:
ember-cli-babel: 7.26.11
@@ -12933,6 +13020,13 @@ snapshots:
- '@babel/core'
- supports-color
+ ember-render-helpers@0.2.0:
+ dependencies:
+ ember-cli-babel: 7.26.11
+ ember-cli-typescript: 4.2.1
+ transitivePeerDependencies:
+ - supports-color
+
ember-resolver@11.0.1(ember-source@5.4.1(@babel/core@7.25.2)(@glimmer/component@1.1.2(@babel/core@7.25.2))(rsvp@4.8.5)(webpack@5.94.0)):
dependencies:
ember-cli-babel: 7.26.11
@@ -14806,6 +14900,8 @@ snapshots:
dependencies:
invert-kv: 3.0.1
+ leaflet@1.9.4: {}
+
levn@0.4.1:
dependencies:
prelude-ls: 1.2.1
@@ -16363,6 +16459,8 @@ snapshots:
remote-git-tags@3.0.0: {}
+ remote-promises@1.0.0: {}
+
remove-trailing-separator@1.1.0: {}
remove-types@1.0.0:
diff --git a/tests/unit/utils/load-assets-test.js b/tests/unit/utils/load-assets-test.js
new file mode 100644
index 0000000..f485963
--- /dev/null
+++ b/tests/unit/utils/load-assets-test.js
@@ -0,0 +1,10 @@
+// import loadAssets from 'dummy/utils/load-assets';
+import { module, test } from 'qunit';
+
+module('Unit | Utility | load-assets', function () {
+ // TODO: Replace this with your real tests.
+ test('it works', function (assert) {
+ // let result = loadAssets();
+ assert.ok(true);
+ });
+});
diff --git a/tests/unit/utils/load-leaflet-plugins-test.js b/tests/unit/utils/load-leaflet-plugins-test.js
new file mode 100644
index 0000000..2a8c6f2
--- /dev/null
+++ b/tests/unit/utils/load-leaflet-plugins-test.js
@@ -0,0 +1,10 @@
+// import loadLeafletPlugins from 'dummy/utils/load-leaflet-plugins';
+import { module, test } from 'qunit';
+
+module('Unit | Utility | load-leaflet-plugins', function () {
+ // TODO: Replace this with your real tests.
+ test('it works', function (assert) {
+ // let result = loadLeafletPlugins();
+ assert.ok(true);
+ });
+});