All Projects β†’ asselinpaul β†’ medium-editor-handsontable

asselinpaul / medium-editor-handsontable

Licence: other
πŸ“Š Handsontable extension for MediumEditor

Programming Languages

javascript
184084 projects - #8 most used programming language

Projects that are alternatives of or similar to medium-editor-handsontable

Test files
πŸ“š SheetJS Test Files (XLS/XLSX/XLSB and other spreadsheet formats)
Stars: ✭ 150 (+200%)
Mutual labels:  spreadsheet
Airrecord
Ruby wrapper for Airtable, your personal database
Stars: ✭ 193 (+286%)
Mutual labels:  spreadsheet
Googlesheets4
Google Spreadsheets R API (reboot of the googlesheets package)
Stars: ✭ 232 (+364%)
Mutual labels:  spreadsheet
Plainbudget
Minimalist Plain Text Budgeting
Stars: ✭ 167 (+234%)
Mutual labels:  spreadsheet
Volbx
Graphical tool for data manipulation written in C++/Qt
Stars: ✭ 187 (+274%)
Mutual labels:  spreadsheet
Excel to code
Roughly translate some Excel spreadsheets to Ruby or C.
Stars: ✭ 214 (+328%)
Mutual labels:  spreadsheet
Grid
Declarative React Canvas Grid primitive for Data table, Pivot table, Excel Worksheets and more πŸ’₯
Stars: ✭ 573 (+1046%)
Mutual labels:  spreadsheet
Cookbook
Code snippets for various programming languages and libraries
Stars: ✭ 245 (+390%)
Mutual labels:  spreadsheet
Calx.js
jQuery Calx - a jQuery plugin for creating formula-based calculation form
Stars: ✭ 190 (+280%)
Mutual labels:  spreadsheet
Seatable
SeaTable: easy like a spreadsheet, powerful like a database
Stars: ✭ 231 (+362%)
Mutual labels:  spreadsheet
Documentserver
ONLYOFFICE Document Server is an online office suite comprising viewers and editors for texts, spreadsheets and presentations, fully compatible with Office Open XML formats: .docx, .xlsx, .pptx and enabling collaborative editing in real time.
Stars: ✭ 2,335 (+4570%)
Mutual labels:  spreadsheet
Tidyxl
Read untidy Excel files in R https://nacnudus.github.io/tidyxl/
Stars: ✭ 185 (+270%)
Mutual labels:  spreadsheet
Xlsxwriter
A Python module for creating Excel XLSX files.
Stars: ✭ 2,766 (+5432%)
Mutual labels:  spreadsheet
Yii2 Export
A library to export server/db data in various formats (e.g. excel, html, pdf, csv etc.)
Stars: ✭ 153 (+206%)
Mutual labels:  spreadsheet
Psexcel
A simple Excel PowerShell module
Stars: ✭ 234 (+368%)
Mutual labels:  spreadsheet
Unpivotr
Unpivot complex and irregular data layouts in R
Stars: ✭ 148 (+196%)
Mutual labels:  spreadsheet
Hyperformula
A complete, open-source Excel-like calculation engine written in TypeScript. Includes 380+ built-in functions. Maintained by the Handsontable team⚑
Stars: ✭ 210 (+320%)
Mutual labels:  spreadsheet
Handsontable
JavaScript data grid with a spreadsheet look & feel. Works with React, Angular, and Vue. Supported by the Handsontable team ⚑
Stars: ✭ 16,059 (+32018%)
Mutual labels:  spreadsheet
Sc Im
sc-im - Spreadsheet Calculator Improvised -- An ncurses spreadsheet program for terminal
Stars: ✭ 3,081 (+6062%)
Mutual labels:  spreadsheet
Thepassiveinvestor
Passive Investing for the Average Joe
Stars: ✭ 229 (+358%)
Mutual labels:  spreadsheet

MediumEditor Handsontable

MediumEditor Handsontable is an extension to add handsontable spreadsheets to MediumEditor.

Demo: https://asselinpaul.github.io/medium-editor-handsontable/

--

meditor-handsontable gif

--

Usage

You can install manually or either by using npm or bower:

npm install medium-editor-handsontable

or

bower install medium-editor-handsontable

On your app, link the style and the script and initialize MediumEditor with the table extension:

<!doctype html>
<html>
<head>
...
  <link rel="stylesheet" href="<path_to_medium-editor>/dist/css/medium-editor.css" />
  <link rel="stylesheet" href="<path_to_medium-editor>/dist/css/themes/default.css" />
  <link rel="stylesheet" href="<path_to_medium-editor-handsontable>/dist/css/medium-editor-handsontable.css" />
...
</head>
<body>
  <div class="editable"></div>

  <script type="text/javascript" src="<path_to_medium-editor>/dist/js/medium-editor.js"></script>
  <script type="text/javascript" src="<path_to_medium-editor-handsontable>/dist/js/medium-editor-handsontable.js"></script>

  <script type="text/javascript" charset="utf-8">
    var editor = new MediumEditor('.editable', {
    buttonLabels: 'fontawesome',
    extensions: {
      spreadsheet: new MediumEditorSpreadsheet()
    },
    toolbar: {
      buttons: [
        'h2',
        'bold',
        'italic',
        'spreadsheet'
      ],
      static: true,
      sticky: true
    }
  });
  </script>
</body>
</html>

Initialization options

  • rows: maximum number of rows. Default: 10.
  • columns: maximum number of columns. Default: 10.
  • readOnly: makes the cell un-editable. Default: false.
  • contextMenu: shows the context menu on right click (enables the addition/removal of rows and columns). Default: true.

Examples

...
    extensions: {
      'table': new MediumEditorTable({
        rows: 40,
        columns: 40
      })
    }
...
...
	extensions: {
      spreadsheet: new MediumEditorSpreadsheet({
        readOnly: true,
        contextMenu: false
      })
    }
...

Saving states

Saving states is easy and compatible with the medium-editor .serialize method. In order to make this work, the extension keeps the dimensions and data of the spreadsheets in the respective element's data attributes (updated as the spreadsheet is edited).

Serializing the editor therefore saves the state in plain html: data-height="2" data-width="2" data-data="[["1","2"],["3","4"]]"

When the serialised data is loaded and medium-editor-handsontable is initialised, the spreadsheet elements are re-created by the parse() method.

Demo

Clone the repository and:

bower install
open demo/index.html

Development

Clone the repository and:

npm install
grunt

License

The extension is based on the following project: https://github.com/yabwe/medium-editor-tables

MIT: https://github.com/asselinpaul/medium-editor-handsontable/blob/master/LICENSE

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].