Merge branch 'develop'
This commit is contained in:
		
						commit
						42e84b77e1
					
				
					 11 changed files with 105 additions and 33 deletions
				
			
		
							
								
								
									
										10
									
								
								CHANGELOG.md
									
										
									
									
									
								
							
							
						
						
									
										10
									
								
								CHANGELOG.md
									
										
									
									
									
								
							| 
						 | 
					@ -42,6 +42,16 @@ mongodb:
 | 
				
			||||||
8. master ブランチに戻す
 | 
					8. master ブランチに戻す
 | 
				
			||||||
9. enjoy
 | 
					9. enjoy
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					11.6.0 (2019/04/29)
 | 
				
			||||||
 | 
					-------------------
 | 
				
			||||||
 | 
					### Improvements
 | 
				
			||||||
 | 
					* AiScriptにいくつかの文字列操作関数を追加
 | 
				
			||||||
 | 
					* ページ編集画面にページへのリンクを表示するように
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					### Fixes
 | 
				
			||||||
 | 
					* MisskeyPagesで数値入力が文字列として扱われる問題を修正
 | 
				
			||||||
 | 
					* デザインの調整
 | 
				
			||||||
 | 
					
 | 
				
			||||||
11.5.1 (2019/04/29)
 | 
					11.5.1 (2019/04/29)
 | 
				
			||||||
-------------------
 | 
					-------------------
 | 
				
			||||||
### Fixes
 | 
					### Fixes
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -1847,6 +1847,7 @@ pages:
 | 
				
			||||||
  are-you-sure-delete: "このページを削除しますか?"
 | 
					  are-you-sure-delete: "このページを削除しますか?"
 | 
				
			||||||
  page-deleted: "ページを削除しました"
 | 
					  page-deleted: "ページを削除しました"
 | 
				
			||||||
  edit-this-page: "このページを編集"
 | 
					  edit-this-page: "このページを編集"
 | 
				
			||||||
 | 
					  view-page: "ページを見る"
 | 
				
			||||||
  variables: "変数"
 | 
					  variables: "変数"
 | 
				
			||||||
  variables-info: "変数を使うことで動的なページを作成できます。テキスト内で <b>{ 変数名 }</b> と書くとそこに変数の値を埋め込めます。例えば <b>Hello { thing } world!</b> というテキストで、変数(thing)の値が <b>ai</b> だった場合、テキストは <b>Hello ai world!</b> になります。"
 | 
					  variables-info: "変数を使うことで動的なページを作成できます。テキスト内で <b>{ 変数名 }</b> と書くとそこに変数の値を埋め込めます。例えば <b>Hello { thing } world!</b> というテキストで、変数(thing)の値が <b>ai</b> だった場合、テキストは <b>Hello ai world!</b> になります。"
 | 
				
			||||||
  variables-info2: "変数の評価(値を算出すること)は上から下に行われるので、ある変数の中で自分より下の変数を参照することはできません。例えば上から <b>A、B、C</b> と3つの変数を定義したとき、<b>C</b>の中で<b>A</b>や<b>B</b>を参照することはできますが、<b>A</b>の中で<b>B</b>や<b>C</b>を参照することはできません。"
 | 
					  variables-info2: "変数の評価(値を算出すること)は上から下に行われるので、ある変数の中で自分より下の変数を参照することはできません。例えば上から <b>A、B、C</b> と3つの変数を定義したとき、<b>C</b>の中で<b>A</b>や<b>B</b>を参照することはできますが、<b>A</b>の中で<b>B</b>や<b>C</b>を参照することはできません。"
 | 
				
			||||||
| 
						 | 
					@ -1901,10 +1902,28 @@ pages:
 | 
				
			||||||
      random: "ランダム"
 | 
					      random: "ランダム"
 | 
				
			||||||
      value: "値"
 | 
					      value: "値"
 | 
				
			||||||
      fn: "関数"
 | 
					      fn: "関数"
 | 
				
			||||||
 | 
					      text: "テキスト操作"
 | 
				
			||||||
    blocks:
 | 
					    blocks:
 | 
				
			||||||
      text: "テキスト"
 | 
					      text: "テキスト"
 | 
				
			||||||
      multiLineText: "テキスト(複数行)"
 | 
					      multiLineText: "テキスト(複数行)"
 | 
				
			||||||
      textList: "テキストのリスト"
 | 
					      textList: "テキストのリスト"
 | 
				
			||||||
 | 
					      _textList:
 | 
				
			||||||
 | 
					        info: "ひとつひとつを改行で区切ってください"
 | 
				
			||||||
 | 
					      strLen: "テキストの長さ"
 | 
				
			||||||
 | 
					      _strLen:
 | 
				
			||||||
 | 
					        arg1: "テキスト"
 | 
				
			||||||
 | 
					      strPick: "文字取り出し"
 | 
				
			||||||
 | 
					      _strPick:
 | 
				
			||||||
 | 
					        arg1: "テキスト"
 | 
				
			||||||
 | 
					        arg2: "文字の位置"
 | 
				
			||||||
 | 
					      strReplace: "テキスト置き換え"
 | 
				
			||||||
 | 
					      _strReplace:
 | 
				
			||||||
 | 
					        arg1: "テキスト"
 | 
				
			||||||
 | 
					        arg2: "置き換え前"
 | 
				
			||||||
 | 
					        arg3: "置き換え後"
 | 
				
			||||||
 | 
					      strReverse: "テキストを反転"
 | 
				
			||||||
 | 
					      _strReverse:
 | 
				
			||||||
 | 
					        arg1: "テキスト"
 | 
				
			||||||
      add: "+ 足す"
 | 
					      add: "+ 足す"
 | 
				
			||||||
      _add:
 | 
					      _add:
 | 
				
			||||||
        arg1: "A"
 | 
					        arg1: "A"
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -1,7 +1,7 @@
 | 
				
			||||||
{
 | 
					{
 | 
				
			||||||
	"name": "misskey",
 | 
						"name": "misskey",
 | 
				
			||||||
	"author": "syuilo <i@syuilo.com>",
 | 
						"author": "syuilo <i@syuilo.com>",
 | 
				
			||||||
	"version": "11.5.1",
 | 
						"version": "11.6.0",
 | 
				
			||||||
	"codename": "daybreak",
 | 
						"codename": "daybreak",
 | 
				
			||||||
	"repository": {
 | 
						"repository": {
 | 
				
			||||||
		"type": "git",
 | 
							"type": "git",
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -51,26 +51,30 @@ type TypeError = {
 | 
				
			||||||
};
 | 
					};
 | 
				
			||||||
 | 
					
 | 
				
			||||||
const funcDefs = {
 | 
					const funcDefs = {
 | 
				
			||||||
	if:              { in: ['boolean', 0, 0],      out: 0,         category: 'flow',       icon: faShareAlt, },
 | 
						if:              { in: ['boolean', 0, 0],              out: 0,         category: 'flow',       icon: faShareAlt, },
 | 
				
			||||||
	not:             { in: ['boolean'],            out: 'boolean', category: 'logical',    icon: faFlag, },
 | 
						not:             { in: ['boolean'],                    out: 'boolean', category: 'logical',    icon: faFlag, },
 | 
				
			||||||
	or:              { in: ['boolean', 'boolean'], out: 'boolean', category: 'logical',    icon: faFlag, },
 | 
						or:              { in: ['boolean', 'boolean'],         out: 'boolean', category: 'logical',    icon: faFlag, },
 | 
				
			||||||
	and:             { in: ['boolean', 'boolean'], out: 'boolean', category: 'logical',    icon: faFlag, },
 | 
						and:             { in: ['boolean', 'boolean'],         out: 'boolean', category: 'logical',    icon: faFlag, },
 | 
				
			||||||
	add:             { in: ['number', 'number'],   out: 'number',  category: 'operation',  icon: faPlus, },
 | 
						add:             { in: ['number', 'number'],           out: 'number',  category: 'operation',  icon: faPlus, },
 | 
				
			||||||
	subtract:        { in: ['number', 'number'],   out: 'number',  category: 'operation',  icon: faMinus, },
 | 
						subtract:        { in: ['number', 'number'],           out: 'number',  category: 'operation',  icon: faMinus, },
 | 
				
			||||||
	multiply:        { in: ['number', 'number'],   out: 'number',  category: 'operation',  icon: faTimes, },
 | 
						multiply:        { in: ['number', 'number'],           out: 'number',  category: 'operation',  icon: faTimes, },
 | 
				
			||||||
	divide:          { in: ['number', 'number'],   out: 'number',  category: 'operation',  icon: faDivide, },
 | 
						divide:          { in: ['number', 'number'],           out: 'number',  category: 'operation',  icon: faDivide, },
 | 
				
			||||||
	eq:              { in: [0, 0],                 out: 'boolean', category: 'comparison', icon: faEquals, },
 | 
						eq:              { in: [0, 0],                         out: 'boolean', category: 'comparison', icon: faEquals, },
 | 
				
			||||||
	notEq:           { in: [0, 0],                 out: 'boolean', category: 'comparison', icon: faNotEqual, },
 | 
						notEq:           { in: [0, 0],                         out: 'boolean', category: 'comparison', icon: faNotEqual, },
 | 
				
			||||||
	gt:              { in: ['number', 'number'],   out: 'boolean', category: 'comparison', icon: faGreaterThan, },
 | 
						gt:              { in: ['number', 'number'],           out: 'boolean', category: 'comparison', icon: faGreaterThan, },
 | 
				
			||||||
	lt:              { in: ['number', 'number'],   out: 'boolean', category: 'comparison', icon: faLessThan, },
 | 
						lt:              { in: ['number', 'number'],           out: 'boolean', category: 'comparison', icon: faLessThan, },
 | 
				
			||||||
	gtEq:            { in: ['number', 'number'],   out: 'boolean', category: 'comparison', icon: faGreaterThanEqual, },
 | 
						gtEq:            { in: ['number', 'number'],           out: 'boolean', category: 'comparison', icon: faGreaterThanEqual, },
 | 
				
			||||||
	ltEq:            { in: ['number', 'number'],   out: 'boolean', category: 'comparison', icon: faLessThanEqual, },
 | 
						ltEq:            { in: ['number', 'number'],           out: 'boolean', category: 'comparison', icon: faLessThanEqual, },
 | 
				
			||||||
	rannum:          { in: ['number', 'number'],   out: 'number',  category: 'random',     icon: faDice, },
 | 
						strLen:          { in: ['string'],                     out: 'number',  category: 'text',       icon: faQuoteRight, },
 | 
				
			||||||
	random:          { in: ['number'],             out: 'boolean', category: 'random',     icon: faDice, },
 | 
						strPick:         { in: ['string', 'number'],           out: 'string',  category: 'text',       icon: faQuoteRight, },
 | 
				
			||||||
	randomPick:      { in: [0],                    out: 0,         category: 'random',     icon: faDice, },
 | 
						strReplace:      { in: ['string', 'string', 'string'], out: 'string',  category: 'text',       icon: faQuoteRight, },
 | 
				
			||||||
	dailyRannum:     { in: ['number', 'number'],   out: 'number',  category: 'random',     icon: faDice, },
 | 
						strReverse:      { in: ['string'],                     out: 'string',  category: 'text',       icon: faQuoteRight, },
 | 
				
			||||||
	dailyRandom:     { in: ['number'],             out: 'boolean', category: 'random',     icon: faDice, },
 | 
						rannum:          { in: ['number', 'number'],           out: 'number',  category: 'random',     icon: faDice, },
 | 
				
			||||||
	dailyRandomPick: { in: [0],                    out: 0,         category: 'random',     icon: faDice, },
 | 
						random:          { in: ['number'],                     out: 'boolean', category: 'random',     icon: faDice, },
 | 
				
			||||||
 | 
						randomPick:      { in: [0],                            out: 0,         category: 'random',     icon: faDice, },
 | 
				
			||||||
 | 
						dailyRannum:     { in: ['number', 'number'],           out: 'number',  category: 'random',     icon: faDice, },
 | 
				
			||||||
 | 
						dailyRandom:     { in: ['number'],                     out: 'boolean', category: 'random',     icon: faDice, },
 | 
				
			||||||
 | 
						dailyRandomPick: { in: [0],                            out: 0,         category: 'random',     icon: faDice, },
 | 
				
			||||||
};
 | 
					};
 | 
				
			||||||
 | 
					
 | 
				
			||||||
const blockDefs = [
 | 
					const blockDefs = [
 | 
				
			||||||
| 
						 | 
					@ -413,6 +417,10 @@ export class AiScript {
 | 
				
			||||||
			subtract: (a, b) => a - b,
 | 
								subtract: (a, b) => a - b,
 | 
				
			||||||
			multiply: (a, b) => a * b,
 | 
								multiply: (a, b) => a * b,
 | 
				
			||||||
			divide: (a, b) => a / b,
 | 
								divide: (a, b) => a / b,
 | 
				
			||||||
 | 
								strLen: (a) => a.length,
 | 
				
			||||||
 | 
								strPick: (a, b) => a[b - 1],
 | 
				
			||||||
 | 
								strReplace: (a, b, c) => a.split(b).join(c),
 | 
				
			||||||
 | 
								strReverse: (a) => a.split('').reverse().join(''),
 | 
				
			||||||
			random: (probability) => Math.floor(seedrandom(`${this.opts.randomSeed}:${block.id}`)() * 100) < probability,
 | 
								random: (probability) => Math.floor(seedrandom(`${this.opts.randomSeed}:${block.id}`)() * 100) < probability,
 | 
				
			||||||
			rannum: (min, max) => min + Math.floor(seedrandom(`${this.opts.randomSeed}:${block.id}`)() * (max - min + 1)),
 | 
								rannum: (min, max) => min + Math.floor(seedrandom(`${this.opts.randomSeed}:${block.id}`)() * (max - min + 1)),
 | 
				
			||||||
			randomPick: (list) => list[Math.floor(seedrandom(`${this.opts.randomSeed}:${block.id}`)() * list.length)],
 | 
								randomPick: (list) => list[Math.floor(seedrandom(`${this.opts.randomSeed}:${block.id}`)() * list.length)],
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -1,7 +1,7 @@
 | 
				
			||||||
<template>
 | 
					<template>
 | 
				
			||||||
<div class="felqjxyj" :class="{ splash }">
 | 
					<div class="felqjxyj" :class="{ splash }">
 | 
				
			||||||
	<div class="bg" ref="bg" @click="onBgClick"></div>
 | 
						<div class="bg" ref="bg" @click="onBgClick"></div>
 | 
				
			||||||
	<div class="main" ref="main">
 | 
						<div class="main" ref="main" :class="{ round: $store.state.device.roundedCorners }">
 | 
				
			||||||
		<template v-if="type == 'signin'">
 | 
							<template v-if="type == 'signin'">
 | 
				
			||||||
			<mk-signin/>
 | 
								<mk-signin/>
 | 
				
			||||||
		</template>
 | 
							</template>
 | 
				
			||||||
| 
						 | 
					@ -229,10 +229,12 @@ export default Vue.extend({
 | 
				
			||||||
		width calc(100% - 32px)
 | 
							width calc(100% - 32px)
 | 
				
			||||||
		text-align center
 | 
							text-align center
 | 
				
			||||||
		background var(--face)
 | 
							background var(--face)
 | 
				
			||||||
		border-radius 8px
 | 
					 | 
				
			||||||
		color var(--faceText)
 | 
							color var(--faceText)
 | 
				
			||||||
		opacity 0
 | 
							opacity 0
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
							&.round
 | 
				
			||||||
 | 
								border-radius 8px
 | 
				
			||||||
 | 
					
 | 
				
			||||||
		> .icon
 | 
							> .icon
 | 
				
			||||||
			font-size 32px
 | 
								font-size 32px
 | 
				
			||||||
 | 
					
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -43,6 +43,13 @@ export default Vue.extend({
 | 
				
			||||||
	created() {
 | 
						created() {
 | 
				
			||||||
		if (this.value.name == null) Vue.set(this.value, 'name', '');
 | 
							if (this.value.name == null) Vue.set(this.value, 'name', '');
 | 
				
			||||||
		if (this.value.inputType == null) Vue.set(this.value, 'inputType', 'string');
 | 
							if (this.value.inputType == null) Vue.set(this.value, 'inputType', 'string');
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
							this.$watch('value.inputType', t => {
 | 
				
			||||||
 | 
								if (this.value.default != null) {
 | 
				
			||||||
 | 
									if (t === 'number') this.value.default = parseInt(this.value.default, 10);
 | 
				
			||||||
 | 
									if (t === 'string') this.value.default = this.value.default.toString();
 | 
				
			||||||
 | 
								}
 | 
				
			||||||
 | 
							});
 | 
				
			||||||
	},
 | 
						},
 | 
				
			||||||
});
 | 
					});
 | 
				
			||||||
</script>
 | 
					</script>
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -16,8 +16,8 @@
 | 
				
			||||||
	<section v-else-if="value.type === 'multiLineText'" class="tbwccoaw">
 | 
						<section v-else-if="value.type === 'multiLineText'" class="tbwccoaw">
 | 
				
			||||||
		<textarea v-model="value.value"></textarea>
 | 
							<textarea v-model="value.value"></textarea>
 | 
				
			||||||
	</section>
 | 
						</section>
 | 
				
			||||||
	<section v-else-if="value.type === 'textList'" class="frvuzvoi">
 | 
						<section v-else-if="value.type === 'textList'" class="tbwccoaw">
 | 
				
			||||||
		<ui-textarea v-model="value.value"></ui-textarea>
 | 
							<textarea v-model="value.value" :placeholder="$t('script.blocks._textList.info')"></textarea>
 | 
				
			||||||
	</section>
 | 
						</section>
 | 
				
			||||||
	<section v-else-if="value.type === 'number'" class="tbwccoaw">
 | 
						<section v-else-if="value.type === 'number'" class="tbwccoaw">
 | 
				
			||||||
		<input v-model="value.value" type="number"/>
 | 
							<input v-model="value.value" type="number"/>
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -11,6 +11,8 @@
 | 
				
			||||||
		</header>
 | 
							</header>
 | 
				
			||||||
 | 
					
 | 
				
			||||||
		<section>
 | 
							<section>
 | 
				
			||||||
 | 
								<a class="view" v-if="pageId" :href="`/@${ $store.state.i.username }/pages/${ currentName }`" target="_blank"><fa :icon="faExternalLinkSquareAlt"/> {{ $t('view-page') }}</a>
 | 
				
			||||||
 | 
					
 | 
				
			||||||
			<ui-input v-model="title">
 | 
								<ui-input v-model="title">
 | 
				
			||||||
				<span>{{ $t('title') }}</span>
 | 
									<span>{{ $t('title') }}</span>
 | 
				
			||||||
			</ui-input>
 | 
								</ui-input>
 | 
				
			||||||
| 
						 | 
					@ -84,7 +86,7 @@
 | 
				
			||||||
<script lang="ts">
 | 
					<script lang="ts">
 | 
				
			||||||
import Vue from 'vue';
 | 
					import Vue from 'vue';
 | 
				
			||||||
import i18n from '../../../../i18n';
 | 
					import i18n from '../../../../i18n';
 | 
				
			||||||
import { faICursor, faPlus, faSquareRootAlt, faCog } from '@fortawesome/free-solid-svg-icons';
 | 
					import { faICursor, faPlus, faSquareRootAlt, faCog, faExternalLinkSquareAlt } from '@fortawesome/free-solid-svg-icons';
 | 
				
			||||||
import { faSave, faStickyNote, faTrashAlt } from '@fortawesome/free-regular-svg-icons';
 | 
					import { faSave, faStickyNote, faTrashAlt } from '@fortawesome/free-regular-svg-icons';
 | 
				
			||||||
import XVariable from './page-editor.script-block.vue';
 | 
					import XVariable from './page-editor.script-block.vue';
 | 
				
			||||||
import XBlock from './page-editor.block.vue';
 | 
					import XBlock from './page-editor.block.vue';
 | 
				
			||||||
| 
						 | 
					@ -110,6 +112,7 @@ export default Vue.extend({
 | 
				
			||||||
	data() {
 | 
						data() {
 | 
				
			||||||
		return {
 | 
							return {
 | 
				
			||||||
			pageId: null,
 | 
								pageId: null,
 | 
				
			||||||
 | 
								currentName: null,
 | 
				
			||||||
			title: '',
 | 
								title: '',
 | 
				
			||||||
			summary: null,
 | 
								summary: null,
 | 
				
			||||||
			name: Date.now().toString(),
 | 
								name: Date.now().toString(),
 | 
				
			||||||
| 
						 | 
					@ -123,7 +126,7 @@ export default Vue.extend({
 | 
				
			||||||
			showOptions: false,
 | 
								showOptions: false,
 | 
				
			||||||
			moreDetails: false,
 | 
								moreDetails: false,
 | 
				
			||||||
			url,
 | 
								url,
 | 
				
			||||||
			faPlus, faICursor, faSave, faStickyNote, faSquareRootAlt, faCog, faTrashAlt
 | 
								faPlus, faICursor, faSave, faStickyNote, faSquareRootAlt, faCog, faTrashAlt, faExternalLinkSquareAlt
 | 
				
			||||||
		};
 | 
							};
 | 
				
			||||||
	},
 | 
						},
 | 
				
			||||||
 | 
					
 | 
				
			||||||
| 
						 | 
					@ -157,6 +160,7 @@ export default Vue.extend({
 | 
				
			||||||
				this.pageId = page.id;
 | 
									this.pageId = page.id;
 | 
				
			||||||
				this.title = page.title;
 | 
									this.title = page.title;
 | 
				
			||||||
				this.name = page.name;
 | 
									this.name = page.name;
 | 
				
			||||||
 | 
									this.currentName = page.name;
 | 
				
			||||||
				this.summary = page.summary;
 | 
									this.summary = page.summary;
 | 
				
			||||||
				this.font = page.font;
 | 
									this.font = page.font;
 | 
				
			||||||
				this.alignCenter = page.alignCenter;
 | 
									this.alignCenter = page.alignCenter;
 | 
				
			||||||
| 
						 | 
					@ -194,6 +198,7 @@ export default Vue.extend({
 | 
				
			||||||
					variables: this.variables,
 | 
										variables: this.variables,
 | 
				
			||||||
					eyeCatchingImageId: this.eyeCatchingImageId,
 | 
										eyeCatchingImageId: this.eyeCatchingImageId,
 | 
				
			||||||
				}).then(page => {
 | 
									}).then(page => {
 | 
				
			||||||
 | 
										this.currentName = this.name.trim();
 | 
				
			||||||
					this.$root.dialog({
 | 
										this.$root.dialog({
 | 
				
			||||||
						type: 'success',
 | 
											type: 'success',
 | 
				
			||||||
						text: this.$t('page-updated')
 | 
											text: this.$t('page-updated')
 | 
				
			||||||
| 
						 | 
					@ -211,6 +216,7 @@ export default Vue.extend({
 | 
				
			||||||
					eyeCatchingImageId: this.eyeCatchingImageId,
 | 
										eyeCatchingImageId: this.eyeCatchingImageId,
 | 
				
			||||||
				}).then(page => {
 | 
									}).then(page => {
 | 
				
			||||||
					this.pageId = page.id;
 | 
										this.pageId = page.id;
 | 
				
			||||||
 | 
										this.currentName = this.name.trim();
 | 
				
			||||||
					this.$root.dialog({
 | 
										this.$root.dialog({
 | 
				
			||||||
						type: 'success',
 | 
											type: 'success',
 | 
				
			||||||
						text: this.$t('page-created')
 | 
											text: this.$t('page-created')
 | 
				
			||||||
| 
						 | 
					@ -427,6 +433,10 @@ export default Vue.extend({
 | 
				
			||||||
		@media (max-width 500px)
 | 
							@media (max-width 500px)
 | 
				
			||||||
			padding 0 16px 16px 16px
 | 
								padding 0 16px 16px 16px
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
							> .view
 | 
				
			||||||
 | 
								display inline-block
 | 
				
			||||||
 | 
								margin 16px 0 0 0
 | 
				
			||||||
 | 
					
 | 
				
			||||||
		> .content
 | 
							> .content
 | 
				
			||||||
			margin-bottom 16px
 | 
								margin-bottom 16px
 | 
				
			||||||
 | 
					
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -1,7 +1,7 @@
 | 
				
			||||||
<template>
 | 
					<template>
 | 
				
			||||||
<component class="dmtdnykelhudezerjlfpbhgovrgnqqgr"
 | 
					<component class="dmtdnykelhudezerjlfpbhgovrgnqqgr"
 | 
				
			||||||
	:is="link ? 'a' : 'button'"
 | 
						:is="link ? 'a' : 'button'"
 | 
				
			||||||
	:class="{ inline, primary, wait }"
 | 
						:class="{ inline, primary, wait, round: $store.state.device.roundedCorners }"
 | 
				
			||||||
	:type="type"
 | 
						:type="type"
 | 
				
			||||||
	@click="$emit('click')"
 | 
						@click="$emit('click')"
 | 
				
			||||||
	@mousedown="onMousedown"
 | 
						@mousedown="onMousedown"
 | 
				
			||||||
| 
						 | 
					@ -116,7 +116,6 @@ export default Vue.extend({
 | 
				
			||||||
	font-size 16px
 | 
						font-size 16px
 | 
				
			||||||
	line-height 24px
 | 
						line-height 24px
 | 
				
			||||||
	border none
 | 
						border none
 | 
				
			||||||
	border-radius 6px
 | 
					 | 
				
			||||||
	outline none
 | 
						outline none
 | 
				
			||||||
	box-shadow none
 | 
						box-shadow none
 | 
				
			||||||
	text-decoration none
 | 
						text-decoration none
 | 
				
			||||||
| 
						 | 
					@ -124,6 +123,9 @@ export default Vue.extend({
 | 
				
			||||||
	color var(--text)
 | 
						color var(--text)
 | 
				
			||||||
	background var(--buttonBg)
 | 
						background var(--buttonBg)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
						&.round
 | 
				
			||||||
 | 
							border-radius 6px
 | 
				
			||||||
 | 
					
 | 
				
			||||||
	&:not(:disabled):hover
 | 
						&:not(:disabled):hover
 | 
				
			||||||
		background var(--buttonHoverBg)
 | 
							background var(--buttonHoverBg)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
| 
						 | 
					@ -157,7 +159,9 @@ export default Vue.extend({
 | 
				
			||||||
			bottom -5px
 | 
								bottom -5px
 | 
				
			||||||
			left -5px
 | 
								left -5px
 | 
				
			||||||
			border 2px solid var(--primaryAlpha03)
 | 
								border 2px solid var(--primaryAlpha03)
 | 
				
			||||||
			border-radius 10px
 | 
					
 | 
				
			||||||
 | 
						&.round:focus:after
 | 
				
			||||||
 | 
							border-radius 10px
 | 
				
			||||||
 | 
					
 | 
				
			||||||
	&:not(.inline) + .dmtdnykelhudezerjlfpbhgovrgnqqgr
 | 
						&:not(.inline) + .dmtdnykelhudezerjlfpbhgovrgnqqgr
 | 
				
			||||||
		margin-top 16px
 | 
							margin-top 16px
 | 
				
			||||||
| 
						 | 
					@ -197,7 +201,6 @@ export default Vue.extend({
 | 
				
			||||||
		left 0
 | 
							left 0
 | 
				
			||||||
		width 100%
 | 
							width 100%
 | 
				
			||||||
		height 100%
 | 
							height 100%
 | 
				
			||||||
		border-radius 6px
 | 
					 | 
				
			||||||
		overflow hidden
 | 
							overflow hidden
 | 
				
			||||||
 | 
					
 | 
				
			||||||
		>>> div
 | 
							>>> div
 | 
				
			||||||
| 
						 | 
					@ -210,6 +213,9 @@ export default Vue.extend({
 | 
				
			||||||
			transform scale(1)
 | 
								transform scale(1)
 | 
				
			||||||
			transition all 0.5s cubic-bezier(0, .5, .5, 1)
 | 
								transition all 0.5s cubic-bezier(0, .5, .5, 1)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
						&.round > .ripples
 | 
				
			||||||
 | 
							border-radius 6px
 | 
				
			||||||
 | 
					
 | 
				
			||||||
	&.primary > .ripples >>> div
 | 
						&.primary > .ripples >>> div
 | 
				
			||||||
		background rgba(0, 0, 0, 0.15)
 | 
							background rgba(0, 0, 0, 0.15)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -184,7 +184,11 @@ export default Vue.extend({
 | 
				
			||||||
			this.v = v;
 | 
								this.v = v;
 | 
				
			||||||
		},
 | 
							},
 | 
				
			||||||
		v(v) {
 | 
							v(v) {
 | 
				
			||||||
			this.$emit('input', v);
 | 
								if (this.type === 'number') {
 | 
				
			||||||
 | 
									this.$emit('input', parseInt(v, 10));
 | 
				
			||||||
 | 
								} else {
 | 
				
			||||||
 | 
									this.$emit('input', v);
 | 
				
			||||||
 | 
								}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
			if (this.withPasswordMeter) {
 | 
								if (this.withPasswordMeter) {
 | 
				
			||||||
				if (v == '') {
 | 
									if (v == '') {
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -1,5 +1,5 @@
 | 
				
			||||||
<template>
 | 
					<template>
 | 
				
			||||||
<div>
 | 
					<div class="hkcxmtwj">
 | 
				
			||||||
	<ui-switch v-model="v">{{ value.text }}</ui-switch>
 | 
						<ui-switch v-model="v">{{ value.text }}</ui-switch>
 | 
				
			||||||
</div>
 | 
					</div>
 | 
				
			||||||
</template>
 | 
					</template>
 | 
				
			||||||
| 
						 | 
					@ -31,3 +31,9 @@ export default Vue.extend({
 | 
				
			||||||
	}
 | 
						}
 | 
				
			||||||
});
 | 
					});
 | 
				
			||||||
</script>
 | 
					</script>
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					<style lang="stylus" scoped>
 | 
				
			||||||
 | 
					.hkcxmtwj
 | 
				
			||||||
 | 
						display inline-block
 | 
				
			||||||
 | 
						margin 16px auto
 | 
				
			||||||
 | 
					</style>
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue