Commit Graph

54 Commits

Author SHA1 Message Date
Keegan George 116bcb9c3a
DEV: Use new component based modal API and other modernizations (#60) 2023-08-30 13:36:22 -07:00
David Taylor ac73eda710
DEV: Introduce backwards-compat shims for older Discourse core (#57)
The changes in 8599bfcaff needed to be applied precisely in-step with the core changes from https://github.com/discourse/discourse/pull/23148. This is impossible to guarantee with a theme - `.discourse-compatibility` does not give us enough precision. So instead, we need some temporary backwards-compatibility shims so that the new relative-import paths still work on old discourse.
2023-08-21 14:23:46 +01:00
David Taylor 8599bfcaff
DEV: Update import paths following core fix (#56)
https://github.com/discourse/discourse/pull/23148
2023-08-18 18:30:20 +01:00
Penar Musaraj a6b221ddfa
FIX: Table editing sometimes not working (#50)
We were relying on the `event.target`, and sometimes that target was not the button element with the `table-id` data attribute, but the svg. 

This commit makes a few changes: 

- renames `tableId` to `tableIndex`
- passes the index as part of the attributes to the `generateModal` function
2023-04-25 10:23:28 -04:00
Keegan George eb164d881e
UX: Make table builder edit button icon-only (#49) 2023-03-24 13:23:08 -07:00
Keegan George 5d7a126403
FIX: Post height issues (#34) 2023-03-24 12:25:46 -07:00
Penar Musaraj b45ffe48b7
FIX: Allow headings to have the same label (#46)
Fixes an issue where multiple headings with the same value would remove
columns from displaying.
2023-02-16 21:16:48 -05:00
Keegan George 6707473520
DEV: Map Discourse locales to vendor spreadsheet locales (#42) 2023-01-19 09:24:31 -08:00
David Taylor 8285be7618
DEV: Update eslint-config-discourse, use prettier for hbs (#40) 2023-01-04 12:54:43 +00:00
Penar Musaraj fdc79d0cbf
FIX: do not edit wrong table when post has uploads (#37)
Previously, the regex was catching uploads as well as tables.

This change ensures only strict tables are matched by requiring that
matches start with the pipe character.

Also adds a unit test for `findTableRegex` to describe the expected
behaviour of the helper.
2023-01-04 08:06:25 +01:00
Keegan George 7028ba0660
FIX: Desktop touchscreens and allow edits on mobileView (#32) 2022-10-27 10:52:40 -07:00
Keegan George 7e65777187
FIX: Misalignment of table after edit (#30)
See Meta bug report: https://meta.discourse.org/t/table-builder/236016/54
2022-10-13 14:37:01 -07:00
Keegan George 879140b8ce
FIX: Make edit table button text not selectable (#29)
Making the text of the edit table button not selectable so that when post's contents are copied, the edit table label does not copy over as well.
2022-10-12 09:49:54 -07:00
Keegan George 55c80ed04f
Revert "DEV: Ensure helper or post exist before decorations (#27)" (#28)
This reverts commit 2896c69a72.
2022-09-21 10:12:32 -07:00
Keegan George 2896c69a72
DEV: Ensure helper or post exist before decorations (#27) 2022-09-20 18:23:22 -07:00
Keegan George be968d9158
DEV: Add loading spinner (#20)
* WIP: Add loading spinner

* DEV: Linting fixes

* DEV: Make `loading` a `@tracked` property
2022-08-15 08:47:33 -07:00
Joffrey JAFFEUX 20bcb38249
FIX: prevents markdown error by using new core parseAsync (#21)
Prior to this fix markdown-it was not correctly initialised and would cause an error when having to parse an URL for example.
2022-08-13 15:14:21 +02:00
Keegan George f68a599e87
DEV: Add unique filename for table exports (#19) 2022-08-12 12:10:04 -07:00
Keegan George 52b69453ba
COMPATIBILITY: Update `site` and `siteSettings` references (#18) 2022-08-12 12:09:39 -07:00
Penar Musaraj 9abd57e5b5
FIX: Strip null characters (#17) 2022-08-12 14:14:01 -04:00
Penar Musaraj a8f27d9131
UX: Default to wide tables (#16)
* UX: Default to 100% wide tables

* DEV: Change default spreadsheet rows/columns

Co-authored-by: Keegan George <kgeorge13@gmail.com>
2022-08-12 11:11:27 -07:00
Keegan George 388c4a58e5
DEV: Update `SpreadsheetEditor` to use `@glimmer/component` (#13)
Now that all of our singletons have been converted to true Ember Services, we can remove our custom `discourse/component/glimmer` superclass and use explicit injection
2022-08-11 11:59:08 -07:00
Keegan George 7b37c6acc1
FIX: Special character alignment issue (#10)
* DEV: Use alternate fork of `array-to-table`

* DEV: Add unit test for `arrayToTable()` method

* Move `arrayToTable` so it is available for unit tests

* DEV: Add assertion for creating a markdown table with special chars

When a table with special characters (such as `$`) is inserted in a cell to the right of a blank cell. The alignment of the table gets ruined if the table doesn't have surrounding pipes. This check ensures this alignment is correct.

Co-authored-by: Penar Musaraj <pmusaraj@gmail.com>
2022-08-11 11:33:34 -07:00
Keegan George dacdd1cc4e
FIX: Edit Table button appearing in all `<table>` elements (#12) 2022-08-11 11:12:01 -07:00
Keegan George 4289145268
UX: Wrap words instead of dynamic widths and align left (#11)
* UX: Wrap words instead of dynamic widths and align left

* UX: Improve sticky header on scroll

* DEV: Convert default column text to localizable strings
2022-08-10 13:50:38 -07:00
Keegan George d25736adad
DEV: Remove Table HTML usage (#9)
* DEV: Remove Table HTML usage

* DEV: Apply ember linting
2022-08-09 17:14:35 -07:00
Keegan George 98a9081e25
DEV: Populate table content using raw markdown (#7)
* Very exploratory MD work

* DEV: Populate table content using raw markdown

* DEV: 💄 Linting Fixes

Co-authored-by: Penar Musaraj <pmusaraj@gmail.com>
2022-08-09 16:51:17 -07:00
Keegan George 993a1bbd43
FIX: Use `canEdit` property rather than comparing user (#6)
* FIX: Use `canEdit` property rather than comparing user

* DEV: Remove unused currentUser variable
2022-08-08 12:21:30 -07:00
Keegan George 52710496ed
FIX: conflicting class declaration with core (#4)
* DEV: Remove `fade-in` and use `jsuites.basic.css` instead

* FIX: Linting issues with jspreadsheet-theme

* WIP: Add bash script to handle vendor assets

* FIX: Ember Linting fixes

* DEV: Cleanup comments and commented code
2022-07-28 07:33:25 -07:00
Penar Musaraj f8a914c8cc
FIX: Use local theme files for external libs
This also makes sure we don't need any CSP rules for the loaded JS files.
2022-07-26 13:35:02 -04:00
Keegan George 57d7f1bf0c DEV: Update `<SpreadsheetEditor/>` to Glimmer Component
As of [this commit](327dd0beb3), render-modifiers have been introduced, allowing the spreadsheet component to be successfully converted into a Glimmer Component.
2022-07-21 14:19:01 -07:00
Keegan George fbbf78d99b FIX: Expand button not working on multiple tables in post 2022-07-20 16:28:43 -07:00
Keegan George 20890f7e67 DEV: Improve variable naming for edit icon 2022-07-20 15:15:13 -07:00
Keegan George 3eee3da853 FEATURE: Use spreadsheet editor for building tables 2022-07-19 16:33:10 -07:00
Keegan George b7a0a22e95 DEV: Cleanup
- Linting Fixes (prettier, eslint, ember template lint)
- Reorganize code, moving declarations, consolidating functionality into separate methods
- Add default edit reason locale vs hard-coded string
2022-07-18 11:18:58 -07:00
Keegan George 2ddb6de654 FIX: Only update table portion from raw post 2022-07-18 11:03:57 -07:00
Keegan George d74b713d0b FEATURE: Update post contents with edited table (WIP)
Known issue: overrides other content on the post and replaces the post with only the table
2022-07-16 11:00:05 -07:00
Keegan George 669be70f18 DEV: Add logic to build markdown table 2022-07-14 17:07:05 -07:00
Keegan George 4bbb3a9647 FEATURE: Column width dynamically set based on heading length 2022-07-14 10:05:27 -07:00
Keegan George 05cd2ada7e DEV: Remove comments and unused code 2022-07-14 10:05:07 -07:00
Keegan George f76ae6dcd8 DEV: Remove unused imports 2022-07-14 09:21:27 -07:00
Keegan George 40f42a92d2 DEV: Move jsuites library to separate file 2022-07-14 09:21:22 -07:00
Keegan George 86af126978 FIX: Spreadsheet only loading for one instance
This commit moves spreadsheet logic to a component which resolves the issue where the spreadsheet only loads the first time the edit modal appears.
2022-07-14 08:56:11 -07:00
Keegan George 414e7e6a84 DEV: Remove `ajax` request as raw post is not needed 2022-07-13 16:00:42 -07:00
Keegan George 87b91f5a6f WIP: Use JSpreadsheet instead of Importabular 2022-07-13 15:42:13 -07:00
Keegan George 905e553635 FIX: Expand button not working 2022-07-13 11:38:47 -07:00
Keegan George 633109804c DEV: Add comment for clarity 2022-07-13 11:38:33 -07:00
Keegan George 9bfc23c599 WIP: New approach (see description)
- Add edit table button (beside expand table button)
- Parse the table contents
- Display the table as a spreadsheet using the Importabular library
2022-07-12 15:27:03 -07:00
Keegan George b62f595eeb DEV: Trigger modal from Edit Table Button
Triggers modal after clicking Edit Table from selection. Data from post is then passed to the modal.
2022-07-11 15:05:50 -07:00
Keegan George 83d10bff76 FIX: Linting issues 2022-07-04 18:10:08 -07:00