Line data Source code
1 : // @ts-check 2 : 3 : import Vue from "vue"; 4 : import { map } from "lodash"; 5 : 6 : import BadgeButton from "../BadgeButton.vue"; 7 : import RelationMixin from "./RelationMixin"; 8 : import { getAttribute } from "../../utils/element"; 9 : import { getTransformValues } from "../../utils/ssvg"; 10 : 11 : export default /** @type {V.Constructor<any, any>} */ (Vue).extend({ 12 : name: "Transform", 13 : components: { BadgeButton }, 14 : mixins: [ RelationMixin ], 15 : computed: { 16 : /** @returns {string} */ 17 : transformList() { 18 0 : return map(getTransformValues(this.relation), "transform").join(", ") || "..."; 19 : }, 20 : /** @returns {{ selector: string, transform: string }} */ 21 : badges() { 22 0 : return { 23 : selector: getAttribute(this.relation, "query-selector"), 24 : transform: this.transformList 25 : }; 26 : } 27 : } 28 : });