jsdk-offical
Version:
JSDK is the most comprehensive TypeScript framework, like JDK.
182 lines (168 loc) • 4.19 kB
text/typescript
/// <reference path="../../../dist/jsdk.d.ts" />
JS.imports([
'$jsfx.select'
]).then(() => {
let data = [{
id: '1',
text: 'large'
},{
id: '2',
text: 'medium'
},{
id: '3',
text: 'small'
}];
new Select({
id: 'sel1',
placeholder: 'Choose...',
title: 'single',
data: data
})
new Select({
id: 'sel2',
placeholder: 'Choose...',
title: 'multiple',
data:data,
multiple: true
})
new Select({
id: 'w1',
title: 'title=100px',
titlePlace:'left',
data: data,
width: 200,
titleWidth: 100
})
new Select({
id: 'w2',
title: 'title=100px',
titlePlace: 'top',
data:data,
width: 200,
titleWidth: 100
})
let sizes = ['hg','lg','md','sm','xs'];
sizes.forEach((v, i)=>{
new Select({
id:'size'+i,
appendTo: '#sizes',
title:v,
titlePlace:'top',
sizeMode:<any>v,
data: data
})
new Select({
id:'size_m'+i,
appendTo: '#sizes',
title:v,
titlePlace:'top',
sizeMode:<any>v,
data:data,
multiple:true
})
})
let colors = {
Success: ColorMode.success,
Danger: ColorMode.danger,
Warning: ColorMode.warning,
Info: ColorMode.info,
Primary: ColorMode.primary,
Secondary: ColorMode.secondary,
Accent: ColorMode.accent,
Metal: ColorMode.metal,
Light: ColorMode.light,
Dark: ColorMode.dark
};
let i = 1;
for (let name in colors) {
new Select({
id: 'focus_s' + i,
appendTo: '#focuses',
title: name+'/single',
titlePlace: 'top',
colorMode: colors[name],
data: data
});
new Select({
id: 'focus_m' + i,
appendTo: '#focuses',
title: name+'/multiple',
titlePlace: 'top',
colorMode: colors[name],
data: data,
multiple: true
});
new Select({
id: 'out_s' + i,
appendTo: '#outlines',
title: name+'/single',
titlePlace: 'top',
colorMode: colors[name],
data: data,
outline:true
});
new Select({
id: 'out_m' + i,
appendTo: '#outlines',
title: name+'/multiple',
titlePlace: 'top',
colorMode: colors[name],
data: data,
multiple: true,
outline:true
});
i++;
}
let faces = [SelectFaceMode.square, SelectFaceMode.round, SelectFaceMode.pill, SelectFaceMode.shadow];
faces.forEach((v, i)=>{
new Select({
id: 'face_s' + i,
appendTo: '#faces',
title: v+'/single',
titlePlace: 'top',
faceMode: v,
data: data
});
new Select({
id: 'face_m' + i,
appendTo: '#faces',
title: v+'/multiple',
titlePlace: 'top',
faceMode: v,
data: data,
multiple: true
});
})
Dom.applyStyle(`
.jsfx-select.my-vars{
--bg-color: #000;
--text-color: #fff;
--border-color: red;
--placeholder-color: #ccc;
--arrow-color: #fff;
--selected-color: red;
--hover-bg-color: red;
--hover-text-color: #fff;
//choice for mutiple
--choice-text-color: red;
--choice-back-color: #fff;
--choice-border-color: #fff;
--choice-remove-color: red;
}
`);
new Select({
id: 'cus1',
title: 'My Single Select',
titlePlace: 'top',
cls: 'my-vars',
data: data
})
new Select({
id: 'cus2',
title: 'My Multiple Select',
titlePlace: 'top',
cls: 'my-vars',
data: data,
multiple: true
})
})