UNPKG

@aplus-frontend/ui

Version:

2 lines (1 loc) 926 B
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const l=require("lodash-unified"),u=require("vue"),d=require("../../item-group/helper.js"),p=require("../../../utils/index.js"),c=require("./use-collapse-input-count.js");function f(o,s){const i=new Set(o.map(t=>t.name)),a=new Map;for(const t of s){const e=String(d.getStringName(c.getTargetNode(t).props?.name));e&&i.has(e)&&a.set(e,t)}const r=new Set,n=[];for(const t of o){const e=a.get(t.name);e&&(n.push(e),r.add(e))}for(const t of s)r.has(t)||n.push(t);return n}const g=o=>{const s=u.ref(!1),i=u.computed(()=>(o.value||[]).map(n=>{const e=c.getTargetNode(n).props;return{label:e.description||e.label||e.placeholder,name:d.getStringName(e.name),isHidden:l.isBoolean(e.hidden)?!!e.hidden:p.isDef(e.hidden)}}));function a(r){const n=f(r||[],o.value||[]);s.value=!0,o.value=n}return{items:i,handleClickConfirm:a,sorted:s}};exports.useSorter=g;