-
Notifications
You must be signed in to change notification settings - Fork 4
Expand file tree
/
Copy pathdeleteRows.js
More file actions
72 lines (62 loc) · 3.02 KB
/
deleteRows.js
File metadata and controls
72 lines (62 loc) · 3.02 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
'use strict';
/*global Blockly:true */
/*global getInstances:true */
/// --- Delete rows --------------------------------------------------
Blockly.Words['google-spreadsheet_delete-rows_delete-from'] = { en: 'delete from', de: 'lösche von' };
Blockly.Words['google-spreadsheet_delete-rows_on-sheetName'] = { en: 'on sheet', de: 'auf Tabellenblatt' };
Blockly.Words['google-spreadsheet_delete-rows_startRow'] = { en: 'line', de: 'Zeile' };
Blockly.Words['google-spreadsheet_delete-rows_endRow'] = { en: 'to', de: 'bis' };
Blockly.Sendto.blocks['google-spreadsheet.deleteRows'] =
'<block type="google-spreadsheet.deleteRows">' +
' <field name="INSTANCE"></field>' +
' <value name="SHEET_NAME">' +
' <shadow type="text">' +
' <field name="TEXT">text</field>' +
' </shadow>' +
' </value>' +
' <value name="START_ROW">' +
' <shadow type="math_number">' +
' <field name="NUM1">1</field>' +
' </shadow>' +
' </value>' +
' <value name="END_ROW">' +
' <shadow type="math_number">' +
' <field name="NUM2">2</field>' +
' </shadow>' +
' </value>' +
'</block>';
Blockly.Blocks['google-spreadsheet.deleteRows'] = {
init: function () {
const instances = getInstances();
this.appendDummyInput('INSTANCE')
.appendField(Blockly.Translate('google-spreadsheet_delete-rows_delete-from'))
.appendField(new Blockly.FieldDropdown(instances), 'INSTANCE');
this.appendValueInput('SHEET_NAME').appendField(
Blockly.Translate('google-spreadsheet_delete-rows_on-sheetName'),
);
this.appendValueInput('START_ROW')
.setCheck('Number')
.appendField(Blockly.Translate('google-spreadsheet_delete-rows_startRow'));
this.appendValueInput('END_ROW')
.setCheck('Number')
.appendField(Blockly.Translate('google-spreadsheet_delete-rows_endRow'));
/* if (input && input.connection) {
input.connection._optional = true;
}*/
this.setInputsInline(false);
this.setPreviousStatement(true, null);
this.setNextStatement(true, null);
this.setColour(Blockly.Sendto.HUE);
this.setTooltip(Blockly.Translate('google-spreadsheet_tooltip'));
this.setHelpUrl(Blockly.Translate('google-spreadsheet_help'));
},
};
Blockly.JavaScript.forBlock['google-spreadsheet.deleteRows'] = function (block) {
const dropdown_instance = block.getFieldValue('INSTANCE');
const startRow = Blockly.JavaScript.valueToCode(block, 'START_ROW', Blockly.JavaScript.ORDER_ATOMIC);
const endRow = Blockly.JavaScript.valueToCode(block, 'END_ROW', Blockly.JavaScript.ORDER_ATOMIC);
const sheetName = Blockly.JavaScript.valueToCode(block, 'SHEET_NAME', Blockly.JavaScript.ORDER_ATOMIC);
return `sendTo("google-spreadsheet${dropdown_instance}", "deleteRows", {"sheetName":${sheetName},"start":${
startRow
}, "end":${endRow}});\n`;
};