[全般] 元に戻す/やり直し
by Wijmo5_jp
HTML
<link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/3.4.1/css/bootstrap.min.css">
<script src="https://demo.grapecity.com/wijmo/sample/scripts/sample.js"></script>
<link rel="stylesheet" href="https://cdn.grapecity.com/wijmo/5.latest/styles/wijmo.min.css">
<script src="https://cdn.grapecity.com/wijmo/5.latest/controls/wijmo.min.js"></script>
<script src="https://cdn.grapecity.com/wijmo/5.latest/controls/wijmo.input.min.js"></script>
<script src="https://cdn.grapecity.com/wijmo/5.latest/controls/wijmo.undo.min.js"></script>
<script src="https://cdn.grapecity.com/wijmo/5.latest/controls/wijmo.gauge.min.js"></script>
<script src="https://cdn.grapecity.com/wijmo/5.latest/controls/wijmo.grid.min.js"></script>
<script src="https://cdn.grapecity.com/wijmo/5.latest/controls/wijmo.grid.multirow.min.js"></script>
<script src="https://cdn.grapecity.com/wijmo/5.latest/controls/wijmo.grid.filter.min.js"></script>
<script src="https://cdn.grapecity.com/wijmo/5.latest/controls/wijmo.grid.sheet.min.js"></script>
<script src="https://cdn.grapecity.com/wijmo/5.latest/controls/cultures/wijmo.culture.ja.min.js"></script>
<div class="container">
<button id="undo" class="btn btn-primary" disabled><span class="arrow">↶</span> 元に戻す (Ctrl+Z)</button>
<button id="redo" class="btn btn-primary" disabled><span class="arrow">↷</span> やり直し (Ctrl+Y)</button>
<div id="container">
<h2>HTML要素</h2>
<label for="text">テキスト</label><input id="text"><br>
<label for="checkbox">チェックボックス</label><input id="checkbox" type="checkbox"><br>
<label for="radio1">ラジオボタン</label>
<input id="radio1" type="radio" name="radio" checked><label for="radio1" class="label-radio"> 1 </label>
<input id="radio2" type="radio" name="radio"><label for="radio2" class="label-radio"> 2 </label>
<input id="radio3" type="radio" name="radio"><label for="radio3" class="label-radio"> 3 </label><br>
<label for="select">セレクトボックス</label>
...
CSS
body {
margin: 50px 0;
}
label:not(.label-radio) {
width: 150px;
}
label {
font-weight: normal;
}
#radialGauge {
width: 100px;
display: inline-table;
}
.wj-flexgrid {
width: auto;
}
.wj-flexsheet {
width: 600px;
height: 200px;
}
JavaScript
initControls();
var btnUndo = document.getElementById('undo');
var btnRedo = document.getElementById('redo');
var undoStack = new wijmo.undo.UndoStack('#container', {
stateChanged: function (s) {
btnUndo.disabled = !s.canUndo;
btnRedo.disabled = !s.canRedo;
},
});
btnUndo.addEventListener('click', function () {
undoStack.undo();
});
btnRedo.addEventListener('click', function () {
undoStack.redo();
});
function initControls() {
var inputDate = new wijmo.input.InputDate('#inputDate');
var inputMask = new wijmo.input.InputMask('#inputMask', {
mask: '〒000-0000'
});
var inputNumber = new wijmo.input.InputNumber('#inputNumber', {
value: 1000,
step: 1
});
var comboBox = new wijmo.input.ComboBox('#comboBox', {
itemsSource: sample.countryNames()
});
var radialGauge = new wijmo.gauge.RadialGauge('#radialGauge', {
value: 50,
isReadOnly: false,
pointer: { thickness: 0.5 }
});
var flexGrid = new wijmo.grid.FlexGrid('#flexGrid', {
itemsSource: sample.orders(),
allowAddNew: true,
allowDelete: true
});
flexGrid.columns[1].width = 200;
var multiRow = new wijmo.grid.multirow.MultiRow('#multiRow', {
itemsSource: sample.ordersDetail(3),
layoutDefinition: [
{
cells: [
{ binding: 'No', header: 'No', width: 80 }
]
},
{
colspan: 2, cells: [
{ binding: '商品名', header: '商品名', colspan: 2 },
{ binding: '分類名', header: '分類名' },
{ binding: '顧客名', header: '顧客名' },
]
},
{
cells: [
{ binding: '数量', header: '数量' },
{ binding: '金額', header: '金額', format: 'c' }
]
},
{
cells: [
{ binding: '受注日', header: '受注日' },
{ binding: '値引', header: '値引' }
]
}
]
});
var flexSheet = new wijmo.grid.sheet.FlexSheet('#flexSheet');
flexSheet.addUnboundSheet('シート1');
}