Example #1
0
    public static function fromName($tagName)
    {
        switch ($tagName) {
            case 'sheetsave':
                $label = tra('Save Sheet');
                $iconname = 'floppy';
                $syntax = '
					$("#saveState").hide();
					$.sheet.saveSheet($.sheet.tikiSheet, function() {
						$.sheet.manageState($.sheet.tikiSheet, true);
					});';
                break;
            case 'addrow':
                $label = tra('Add row after selection or to the end if no selection');
                $icon = tra('img/icons/sheet_row_add.png');
                $syntax = 'sheetInstance.controlFactory.addRow();';
                // add row after end to workaround bug in jquery.sheet.js 1.0.2
                break;
                // TODO fix properly for 5.1
            // TODO fix properly for 5.1
            case 'addrowmulti':
                $label = tra('Add multiple rows after selection or to the end if no selection');
                $icon = tra('img/icons/sheet_row_add_multi.png');
                $syntax = 'sheetInstance.controlFactory.addRowMulti();';
                break;
            case 'addrowbefore':
                $label = tra('Add row before selection or to end if no selection');
                $icon = tra('img/icons/sheet_row_add.png');
                $syntax = 'sheetInstance.controlFactory.addRow(null, true);';
                // add row after end to workaround bug in jquery.sheet.js 1.0.2
                break;
            case 'deleterow':
                $label = tra('Delete selected row');
                $icon = tra('img/icons/sheet_row_delete.png');
                $syntax = 'sheetInstance.deleteRow();';
                break;
            case 'addcolumn':
                $label = tra('Add column after selection or to the end if no selection');
                $icon = tra('img/icons/sheet_col_add.png');
                $syntax = 'sheetInstance.controlFactory.addColumn();';
                // add col before current or at end if none selected
                break;
            case 'deletecolumn':
                $label = tra('Delete selected column');
                $icon = tra('img/icons/sheet_col_delete.png');
                $syntax = 'sheetInstance.deleteColumn();';
                break;
            case 'addcolumnmulti':
                $label = tra('Add multiple columns after selection or to the end if no selection');
                $icon = tra('img/icons/sheet_col_add_multi.png');
                $syntax = 'sheetInstance.controlFactory.addColumnMulti();';
                break;
            case 'addcolumnbefore':
                $label = tra('Add column before selection or to the end if no selection');
                $icon = tra('img/icons/sheet_col_add.png');
                $syntax = 'sheetInstance.controlFactory.addColumn(null, true);';
                // add col before current or at end if none selected
                break;
            case 'sheetgetrange':
                $label = tra('Get Cell Range');
                $icon = tra('img/icons/sheet_get_range.png');
                $syntax = 'sheetInstance.getTdRange(null, sheetInstance.obj.formula().val()); return false;';
                break;
            case 'sheetfind':
                $label = tra('Find');
                $iconname = 'search';
                $syntax = 'sheetInstance.cellFind();';
                break;
            case 'sheetrefresh':
                $label = tra('Refresh calculations');
                $iconname = 'refresh';
                $syntax = 'sheetInstance.calc();';
                break;
            case 'sheetclose':
                $label = tra('Finish editing');
                $iconname = 'delete';
                $syntax = '$.sheet.manageState(sheetInstance.obj.parent(), true);';
                // temporary workaround TODO properly
                break;
            case 'bold':
                $label = tra('Bold');
                $iconname = 'bold';
                $wysiwyg = 'Bold';
                $syntax = 'sheetInstance.cellStyleToggle("styleBold");';
                break;
            case 'italic':
                $label = tra('Italic');
                $iconname = 'italic';
                $wysiwyg = 'Italic';
                $syntax = 'sheetInstance.cellStyleToggle("styleItalics");';
                break;
            case 'underline':
                $label = tra('Underline');
                $iconname = 'underline';
                $wysiwyg = 'Underline';
                $syntax = 'sheetInstance.cellStyleToggle("styleUnderline");';
                break;
            case 'strike':
                $label = tra('Strikethrough');
                $iconname = 'strikethrough';
                $wysiwyg = 'Strike';
                $syntax = 'sheetInstance.cellStyleToggle("styleLineThrough");';
                break;
            case 'center':
                $label = tra('Align Center');
                $iconname = 'align-center';
                $syntax = 'sheetInstance.cellStyleToggle("styleCenter");';
                break;
            default:
                return;
        }
        $tag = new self();
        $tag->setLabel($label)->setSyntax($syntax)->setType('Sheet');
        if (!empty($iconname)) {
            $tag->setIconName(!empty($iconname) ? $iconname : 'help');
        }
        if (!empty($icon)) {
            $tag->setIcon(!empty($icon) ? $icon : 'img/icons/shading.png');
        }
        return $tag;
    }