Add ranking rules to settings

This commit is contained in:
Stanislav Romanov 2022-03-28 10:47:57 +03:00
parent 2a68e6a5cb
commit 7dd473d0c8
3 changed files with 435 additions and 0 deletions

View file

@ -56,6 +56,28 @@
{{option}}
</InputSelect>
<div class="mb-4">
<label class="mb-2">Ranking rules</label>
<SortableObjects
@sortableObjectList={{@model.settings.rankingRules}}
@sortingScope="a"
>
{{#each @model.settings.rankingRules as |item|}}
<DraggableObject
@content={{item}}
@overrideClass="sortObject"
@isSortable={{true}}
@sortingScope="a"
class="flex items-center px-4 py-2 mb-2 border max-w-md"
@dragHandle=".md-icon"
>
<MdIcon @icon="drag-vertical" class="mr-2 -ml-2 cursor-move"/>
{{item}}
</DraggableObject>
{{/each}}
</SortableObjects>
</div>
<Button
@text="Save"
@pendingText="Saving"

412
package-lock.json generated
View file

@ -45,6 +45,7 @@
"ember-cli-terser": "^4.0.2",
"ember-composable-helpers": "^5.0.0",
"ember-data": "~4.2.0",
"ember-drag-drop": "^0.9.0-beta.0",
"ember-export-application-global": "^2.0.1",
"ember-fetch": "^8.1.1",
"ember-load-initializers": "^2.1.2",
@ -12082,6 +12083,234 @@
"node": "10.* || >= 12"
}
},
"node_modules/ember-drag-drop": {
"version": "0.9.0-beta.0",
"resolved": "https://registry.npmjs.org/ember-drag-drop/-/ember-drag-drop-0.9.0-beta.0.tgz",
"integrity": "sha512-m1XKN+459OoTbnUm/rQDhpVWX2l84/L23Wf0ZvCM0ZJzT4gGn0M3jiZHjQFAAFXjqoUgiBoM3OpU6BjmLHFt2g==",
"dev": true,
"dependencies": {
"ember-cli-babel": "^7.23.1",
"ember-cli-htmlbars": "^5.3.2"
}
},
"node_modules/ember-drag-drop/node_modules/async-disk-cache": {
"version": "2.1.0",
"resolved": "https://registry.npmjs.org/async-disk-cache/-/async-disk-cache-2.1.0.tgz",
"integrity": "sha512-iH+boep2xivfD9wMaZWkywYIURSmsL96d6MoqrC94BnGSvXE4Quf8hnJiHGFYhw/nLeIa1XyRaf4vvcvkwAefg==",
"dev": true,
"dependencies": {
"debug": "^4.1.1",
"heimdalljs": "^0.2.3",
"istextorbinary": "^2.5.1",
"mkdirp": "^0.5.0",
"rimraf": "^3.0.0",
"rsvp": "^4.8.5",
"username-sync": "^1.0.2"
},
"engines": {
"node": "8.* || >= 10.*"
}
},
"node_modules/ember-drag-drop/node_modules/broccoli-persistent-filter": {
"version": "3.1.2",
"resolved": "https://registry.npmjs.org/broccoli-persistent-filter/-/broccoli-persistent-filter-3.1.2.tgz",
"integrity": "sha512-CbU95RXXVyy+eJV9XTiHUC7NnsY3EvdVrGzp3YgyvO2bzXZFE5/GzDp4X/VQqX+jsk4qyT1HvMOF0sD1DX68TQ==",
"dev": true,
"dependencies": {
"async-disk-cache": "^2.0.0",
"async-promise-queue": "^1.0.3",
"broccoli-plugin": "^4.0.3",
"fs-tree-diff": "^2.0.0",
"hash-for-dep": "^1.5.0",
"heimdalljs": "^0.2.1",
"heimdalljs-logger": "^0.1.7",
"promise-map-series": "^0.2.1",
"rimraf": "^3.0.0",
"symlink-or-copy": "^1.0.1",
"sync-disk-cache": "^2.0.0"
},
"engines": {
"node": "10.* || >= 12.*"
}
},
"node_modules/ember-drag-drop/node_modules/broccoli-plugin": {
"version": "4.0.7",
"resolved": "https://registry.npmjs.org/broccoli-plugin/-/broccoli-plugin-4.0.7.tgz",
"integrity": "sha512-a4zUsWtA1uns1K7p9rExYVYG99rdKeGRymW0qOCNkvDPHQxVi3yVyJHhQbM3EZwdt2E0mnhr5e0c/bPpJ7p3Wg==",
"dev": true,
"dependencies": {
"broccoli-node-api": "^1.7.0",
"broccoli-output-wrapper": "^3.2.5",
"fs-merger": "^3.2.1",
"promise-map-series": "^0.3.0",
"quick-temp": "^0.1.8",
"rimraf": "^3.0.2",
"symlink-or-copy": "^1.3.1"
},
"engines": {
"node": "10.* || >= 12.*"
}
},
"node_modules/ember-drag-drop/node_modules/broccoli-plugin/node_modules/promise-map-series": {
"version": "0.3.0",
"resolved": "https://registry.npmjs.org/promise-map-series/-/promise-map-series-0.3.0.tgz",
"integrity": "sha512-3npG2NGhTc8BWBolLLf8l/92OxMGaRLbqvIh9wjCHhDXNvk4zsxaTaCpiCunW09qWPrN2zeNSNwRLVBrQQtutA==",
"dev": true,
"engines": {
"node": "10.* || >= 12.*"
}
},
"node_modules/ember-drag-drop/node_modules/editions": {
"version": "2.3.1",
"resolved": "https://registry.npmjs.org/editions/-/editions-2.3.1.tgz",
"integrity": "sha512-ptGvkwTvGdGfC0hfhKg0MT+TRLRKGtUiWGBInxOm5pz7ssADezahjCUaYuZ8Dr+C05FW0AECIIPt4WBxVINEhA==",
"dev": true,
"dependencies": {
"errlop": "^2.0.0",
"semver": "^6.3.0"
},
"engines": {
"node": ">=0.8"
},
"funding": {
"url": "https://bevry.me/fund"
}
},
"node_modules/ember-drag-drop/node_modules/editions/node_modules/semver": {
"version": "6.3.0",
"resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz",
"integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==",
"dev": true,
"bin": {
"semver": "bin/semver.js"
}
},
"node_modules/ember-drag-drop/node_modules/ember-cli-htmlbars": {
"version": "5.7.2",
"resolved": "https://registry.npmjs.org/ember-cli-htmlbars/-/ember-cli-htmlbars-5.7.2.tgz",
"integrity": "sha512-Uj6R+3TtBV5RZoJY14oZn/sNPnc+UgmC8nb5rI4P3fR/gYoyTFIZSXiIM7zl++IpMoIrocxOrgt+mhonKphgGg==",
"dev": true,
"dependencies": {
"@ember/edition-utils": "^1.2.0",
"babel-plugin-htmlbars-inline-precompile": "^5.0.0",
"broccoli-debug": "^0.6.5",
"broccoli-persistent-filter": "^3.1.2",
"broccoli-plugin": "^4.0.3",
"common-tags": "^1.8.0",
"ember-cli-babel-plugin-helpers": "^1.1.1",
"ember-cli-version-checker": "^5.1.2",
"fs-tree-diff": "^2.0.1",
"hash-for-dep": "^1.5.1",
"heimdalljs-logger": "^0.1.10",
"json-stable-stringify": "^1.0.1",
"semver": "^7.3.4",
"silent-error": "^1.1.1",
"strip-bom": "^4.0.0",
"walk-sync": "^2.2.0"
},
"engines": {
"node": "10.* || >= 12.*"
}
},
"node_modules/ember-drag-drop/node_modules/fs-tree-diff": {
"version": "2.0.1",
"resolved": "https://registry.npmjs.org/fs-tree-diff/-/fs-tree-diff-2.0.1.tgz",
"integrity": "sha512-x+CfAZ/lJHQqwlD64pYM5QxWjzWhSjroaVsr8PW831zOApL55qPibed0c+xebaLWVr2BnHFoHdrwOv8pzt8R5A==",
"dev": true,
"dependencies": {
"@types/symlink-or-copy": "^1.2.0",
"heimdalljs-logger": "^0.1.7",
"object-assign": "^4.1.0",
"path-posix": "^1.0.0",
"symlink-or-copy": "^1.1.8"
},
"engines": {
"node": "6.* || 8.* || >= 10.*"
}
},
"node_modules/ember-drag-drop/node_modules/istextorbinary": {
"version": "2.6.0",
"resolved": "https://registry.npmjs.org/istextorbinary/-/istextorbinary-2.6.0.tgz",
"integrity": "sha512-+XRlFseT8B3L9KyjxxLjfXSLMuErKDsd8DBNrsaxoViABMEZlOSCstwmw0qpoFX3+U6yWU1yhLudAe6/lETGGA==",
"dev": true,
"dependencies": {
"binaryextensions": "^2.1.2",
"editions": "^2.2.0",
"textextensions": "^2.5.0"
},
"engines": {
"node": ">=0.12"
},
"funding": {
"url": "https://bevry.me/fund"
}
},
"node_modules/ember-drag-drop/node_modules/minimist": {
"version": "1.2.6",
"resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.6.tgz",
"integrity": "sha512-Jsjnk4bw3YJqYzbdyBiNsPWHPfO++UGG749Cxs6peCu5Xg4nrena6OVxOYxrQTqww0Jmwt+Ref8rggumkTLz9Q==",
"dev": true
},
"node_modules/ember-drag-drop/node_modules/mkdirp": {
"version": "0.5.6",
"resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-0.5.6.tgz",
"integrity": "sha512-FP+p8RB8OWpF3YZBCrP5gtADmtXApB5AMLn+vdyA+PyxCjrCs00mjyUozssO33cwDeT3wNGdLxJ5M//YqtHAJw==",
"dev": true,
"dependencies": {
"minimist": "^1.2.6"
},
"bin": {
"mkdirp": "bin/cmd.js"
}
},
"node_modules/ember-drag-drop/node_modules/rimraf": {
"version": "3.0.2",
"resolved": "https://registry.npmjs.org/rimraf/-/rimraf-3.0.2.tgz",
"integrity": "sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA==",
"dev": true,
"dependencies": {
"glob": "^7.1.3"
},
"bin": {
"rimraf": "bin.js"
},
"funding": {
"url": "https://github.com/sponsors/isaacs"
}
},
"node_modules/ember-drag-drop/node_modules/rsvp": {
"version": "4.8.5",
"resolved": "https://registry.npmjs.org/rsvp/-/rsvp-4.8.5.tgz",
"integrity": "sha512-nfMOlASu9OnRJo1mbEk2cz0D56a1MBNrJ7orjRZQG10XDyuvwksKbuXNp6qa+kbn839HwjwhBzhFmdsaEAfauA==",
"dev": true,
"engines": {
"node": "6.* || >= 7.*"
}
},
"node_modules/ember-drag-drop/node_modules/strip-bom": {
"version": "4.0.0",
"resolved": "https://registry.npmjs.org/strip-bom/-/strip-bom-4.0.0.tgz",
"integrity": "sha512-3xurFv5tEgii33Zi8Jtp55wEIILR9eh34FAW00PZf+JnSsTmV/ioewSgQl97JHvgjoRGwPShsWm+IdrxB35d0w==",
"dev": true,
"engines": {
"node": ">=8"
}
},
"node_modules/ember-drag-drop/node_modules/walk-sync": {
"version": "2.2.0",
"resolved": "https://registry.npmjs.org/walk-sync/-/walk-sync-2.2.0.tgz",
"integrity": "sha512-IC8sL7aB4/ZgFcGI2T1LczZeFWZ06b3zoHH7jBPyHxOtIIz1jppWHjjEXkOFvFojBVAK9pV7g47xOZ4LW3QLfg==",
"dev": true,
"dependencies": {
"@types/minimatch": "^3.0.3",
"ensure-posix-path": "^1.1.0",
"matcher-collection": "^2.0.0",
"minimatch": "^3.0.4"
},
"engines": {
"node": "8.* || >= 10.*"
}
},
"node_modules/ember-element-helper": {
"version": "0.6.0",
"resolved": "https://registry.npmjs.org/ember-element-helper/-/ember-element-helper-0.6.0.tgz",
@ -35561,6 +35790,189 @@
"ember-compatibility-helpers": "^1.2.1"
}
},
"ember-drag-drop": {
"version": "0.9.0-beta.0",
"resolved": "https://registry.npmjs.org/ember-drag-drop/-/ember-drag-drop-0.9.0-beta.0.tgz",
"integrity": "sha512-m1XKN+459OoTbnUm/rQDhpVWX2l84/L23Wf0ZvCM0ZJzT4gGn0M3jiZHjQFAAFXjqoUgiBoM3OpU6BjmLHFt2g==",
"dev": true,
"requires": {
"ember-cli-babel": "^7.23.1",
"ember-cli-htmlbars": "^5.3.2"
},
"dependencies": {
"async-disk-cache": {
"version": "2.1.0",
"resolved": "https://registry.npmjs.org/async-disk-cache/-/async-disk-cache-2.1.0.tgz",
"integrity": "sha512-iH+boep2xivfD9wMaZWkywYIURSmsL96d6MoqrC94BnGSvXE4Quf8hnJiHGFYhw/nLeIa1XyRaf4vvcvkwAefg==",
"dev": true,
"requires": {
"debug": "^4.1.1",
"heimdalljs": "^0.2.3",
"istextorbinary": "^2.5.1",
"mkdirp": "^0.5.0",
"rimraf": "^3.0.0",
"rsvp": "^4.8.5",
"username-sync": "^1.0.2"
}
},
"broccoli-persistent-filter": {
"version": "3.1.2",
"resolved": "https://registry.npmjs.org/broccoli-persistent-filter/-/broccoli-persistent-filter-3.1.2.tgz",
"integrity": "sha512-CbU95RXXVyy+eJV9XTiHUC7NnsY3EvdVrGzp3YgyvO2bzXZFE5/GzDp4X/VQqX+jsk4qyT1HvMOF0sD1DX68TQ==",
"dev": true,
"requires": {
"async-disk-cache": "^2.0.0",
"async-promise-queue": "^1.0.3",
"broccoli-plugin": "^4.0.3",
"fs-tree-diff": "^2.0.0",
"hash-for-dep": "^1.5.0",
"heimdalljs": "^0.2.1",
"heimdalljs-logger": "^0.1.7",
"promise-map-series": "^0.2.1",
"rimraf": "^3.0.0",
"symlink-or-copy": "^1.0.1",
"sync-disk-cache": "^2.0.0"
}
},
"broccoli-plugin": {
"version": "4.0.7",
"resolved": "https://registry.npmjs.org/broccoli-plugin/-/broccoli-plugin-4.0.7.tgz",
"integrity": "sha512-a4zUsWtA1uns1K7p9rExYVYG99rdKeGRymW0qOCNkvDPHQxVi3yVyJHhQbM3EZwdt2E0mnhr5e0c/bPpJ7p3Wg==",
"dev": true,
"requires": {
"broccoli-node-api": "^1.7.0",
"broccoli-output-wrapper": "^3.2.5",
"fs-merger": "^3.2.1",
"promise-map-series": "^0.3.0",
"quick-temp": "^0.1.8",
"rimraf": "^3.0.2",
"symlink-or-copy": "^1.3.1"
},
"dependencies": {
"promise-map-series": {
"version": "0.3.0",
"resolved": "https://registry.npmjs.org/promise-map-series/-/promise-map-series-0.3.0.tgz",
"integrity": "sha512-3npG2NGhTc8BWBolLLf8l/92OxMGaRLbqvIh9wjCHhDXNvk4zsxaTaCpiCunW09qWPrN2zeNSNwRLVBrQQtutA==",
"dev": true
}
}
},
"editions": {
"version": "2.3.1",
"resolved": "https://registry.npmjs.org/editions/-/editions-2.3.1.tgz",
"integrity": "sha512-ptGvkwTvGdGfC0hfhKg0MT+TRLRKGtUiWGBInxOm5pz7ssADezahjCUaYuZ8Dr+C05FW0AECIIPt4WBxVINEhA==",
"dev": true,
"requires": {
"errlop": "^2.0.0",
"semver": "^6.3.0"
},
"dependencies": {
"semver": {
"version": "6.3.0",
"resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz",
"integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==",
"dev": true
}
}
},
"ember-cli-htmlbars": {
"version": "5.7.2",
"resolved": "https://registry.npmjs.org/ember-cli-htmlbars/-/ember-cli-htmlbars-5.7.2.tgz",
"integrity": "sha512-Uj6R+3TtBV5RZoJY14oZn/sNPnc+UgmC8nb5rI4P3fR/gYoyTFIZSXiIM7zl++IpMoIrocxOrgt+mhonKphgGg==",
"dev": true,
"requires": {
"@ember/edition-utils": "^1.2.0",
"babel-plugin-htmlbars-inline-precompile": "^5.0.0",
"broccoli-debug": "^0.6.5",
"broccoli-persistent-filter": "^3.1.2",
"broccoli-plugin": "^4.0.3",
"common-tags": "^1.8.0",
"ember-cli-babel-plugin-helpers": "^1.1.1",
"ember-cli-version-checker": "^5.1.2",
"fs-tree-diff": "^2.0.1",
"hash-for-dep": "^1.5.1",
"heimdalljs-logger": "^0.1.10",
"json-stable-stringify": "^1.0.1",
"semver": "^7.3.4",
"silent-error": "^1.1.1",
"strip-bom": "^4.0.0",
"walk-sync": "^2.2.0"
}
},
"fs-tree-diff": {
"version": "2.0.1",
"resolved": "https://registry.npmjs.org/fs-tree-diff/-/fs-tree-diff-2.0.1.tgz",
"integrity": "sha512-x+CfAZ/lJHQqwlD64pYM5QxWjzWhSjroaVsr8PW831zOApL55qPibed0c+xebaLWVr2BnHFoHdrwOv8pzt8R5A==",
"dev": true,
"requires": {
"@types/symlink-or-copy": "^1.2.0",
"heimdalljs-logger": "^0.1.7",
"object-assign": "^4.1.0",
"path-posix": "^1.0.0",
"symlink-or-copy": "^1.1.8"
}
},
"istextorbinary": {
"version": "2.6.0",
"resolved": "https://registry.npmjs.org/istextorbinary/-/istextorbinary-2.6.0.tgz",
"integrity": "sha512-+XRlFseT8B3L9KyjxxLjfXSLMuErKDsd8DBNrsaxoViABMEZlOSCstwmw0qpoFX3+U6yWU1yhLudAe6/lETGGA==",
"dev": true,
"requires": {
"binaryextensions": "^2.1.2",
"editions": "^2.2.0",
"textextensions": "^2.5.0"
}
},
"minimist": {
"version": "1.2.6",
"resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.6.tgz",
"integrity": "sha512-Jsjnk4bw3YJqYzbdyBiNsPWHPfO++UGG749Cxs6peCu5Xg4nrena6OVxOYxrQTqww0Jmwt+Ref8rggumkTLz9Q==",
"dev": true
},
"mkdirp": {
"version": "0.5.6",
"resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-0.5.6.tgz",
"integrity": "sha512-FP+p8RB8OWpF3YZBCrP5gtADmtXApB5AMLn+vdyA+PyxCjrCs00mjyUozssO33cwDeT3wNGdLxJ5M//YqtHAJw==",
"dev": true,
"requires": {
"minimist": "^1.2.6"
}
},
"rimraf": {
"version": "3.0.2",
"resolved": "https://registry.npmjs.org/rimraf/-/rimraf-3.0.2.tgz",
"integrity": "sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA==",
"dev": true,
"requires": {
"glob": "^7.1.3"
}
},
"rsvp": {
"version": "4.8.5",
"resolved": "https://registry.npmjs.org/rsvp/-/rsvp-4.8.5.tgz",
"integrity": "sha512-nfMOlASu9OnRJo1mbEk2cz0D56a1MBNrJ7orjRZQG10XDyuvwksKbuXNp6qa+kbn839HwjwhBzhFmdsaEAfauA==",
"dev": true
},
"strip-bom": {
"version": "4.0.0",
"resolved": "https://registry.npmjs.org/strip-bom/-/strip-bom-4.0.0.tgz",
"integrity": "sha512-3xurFv5tEgii33Zi8Jtp55wEIILR9eh34FAW00PZf+JnSsTmV/ioewSgQl97JHvgjoRGwPShsWm+IdrxB35d0w==",
"dev": true
},
"walk-sync": {
"version": "2.2.0",
"resolved": "https://registry.npmjs.org/walk-sync/-/walk-sync-2.2.0.tgz",
"integrity": "sha512-IC8sL7aB4/ZgFcGI2T1LczZeFWZ06b3zoHH7jBPyHxOtIIz1jppWHjjEXkOFvFojBVAK9pV7g47xOZ4LW3QLfg==",
"dev": true,
"requires": {
"@types/minimatch": "^3.0.3",
"ensure-posix-path": "^1.1.0",
"matcher-collection": "^2.0.0",
"minimatch": "^3.0.4"
}
}
}
},
"ember-element-helper": {
"version": "0.6.0",
"resolved": "https://registry.npmjs.org/ember-element-helper/-/ember-element-helper-0.6.0.tgz",

View file

@ -65,6 +65,7 @@
"ember-cli-terser": "^4.0.2",
"ember-composable-helpers": "^5.0.0",
"ember-data": "~4.2.0",
"ember-drag-drop": "^0.9.0-beta.0",
"ember-export-application-global": "^2.0.1",
"ember-fetch": "^8.1.1",
"ember-load-initializers": "^2.1.2",