Commit Graph

1054 Commits

Author SHA1 Message Date
David Cook
2013750732 Rename files to match recommended naming scheme
This naming scheme removes some duplication which is nice, but it's a little strange and results in a longer name overall. I don't like it very much because:
- filenames don't include the component's actual name. This makes it slightly harder to find them in my text editor (but I'd probably get used to that)
- the namespace and class naming isn't exactly right. This is _the_ vertical_ellipsis_menu, not a subcomponent.
- the stimulus controller name is now longer, adding more cruft to the HTML.

Lots of discussion here: https://github.com/ViewComponent/view_component/discussions/67
People tried to come up with a better way (and I was tempted to try myself). It seems this approach won. I guess it's not so bad if your component names are shorter.
2023-11-30 12:25:18 +11:00
David Cook
f6d72127a7 Move controller to sidecar directory 2023-11-30 12:18:55 +11:00
David Cook
ed93c77578 Load Stimulus controllers from 'sidecar' directories
Javascript files can now be included in the component directory, alongside HTML and CSS.

As per https://viewcomponent.org/guide/javascript_and_css.html
2023-11-30 12:18:55 +11:00
David Cook
6bf418c4eb Fixup 2023-11-29 15:36:00 +11:00
David Cook
ccc0c17e04 Hide value of disabled input in popout
I'm not sure if we want to do this on all fields, so just scoped it here for now.
2023-11-29 15:36:00 +11:00
David Cook
9ce511f69d Update disabled field style 2023-11-29 15:35:59 +11:00
David Cook
aa792346fc Refactor 2023-11-29 15:18:23 +11:00
David Cook
373743f96d Simplify event handlers
The new 'input' event is for this exact use case.
2023-11-28 10:44:34 +11:00
David Cook
88fe8dcbe0 Show changes on popout button 2023-11-28 10:44:34 +11:00
David Cook
5e96368c85 Count changed checkboxes 2023-11-28 10:44:34 +11:00
David Cook
69f160ff95 Toggle input disabled when on demand checked
This introduces a new 'toggle' controller, and we already had three\! So I created a generic interface that could be extended to potentially support all of them. I propose we try to reduce them all into the one controller, but won't go down the rabbit-hole just yet..

I have an idea on how to re-arrange and make it more contained, by assigning the controller only to the checkbox, and defining targets with aria-controls="", but chose to stick with Stimulus conventions for now.
2023-11-28 10:44:34 +11:00
David Cook
9bc1e873d3 Display summary of the popout values
I couldn't think of a simpler way to hardcode it, so now we have a clever generic method :)

We can assume that hidden elements will stay hidden, but we need to check each time if an element is disabled or not.
2023-11-28 10:44:34 +11:00
David Cook
b6045655ee Hide popout when checkbox is checked 2023-11-28 10:44:34 +11:00
David Cook
78d2ddb9b7 Close popout when focus outside
I'm starting to think that these stimulus tests are worthless. The environment is not the same as a browser, which creates extra work to deal with the inconsistencies. And it means we're not testing real world behaviour.

So these are just unit tests, but they take extra effort to put together due to the inter-relatedness with the DOM. Hmm.
2023-11-28 10:44:34 +11:00
David Cook
4560e3728c Show popout on click or down key
It looks like a select drop-down, so it can behave like one too.
2023-11-28 10:44:34 +11:00
David Cook
735b5789cc [wip] Style on-hand button
Had to update the form controller a little bit to handle buttons.

But arrow not showwing on focus.
Getting some weird SCSS behaviour here.. maybe I'm trying to be too clever.
2023-11-28 10:44:34 +11:00
David Cook
d218565834 Style stock popout 2023-11-28 10:44:34 +11:00
David Cook
d9570cdf32 Update v3 checkbox style
This doesn't _quite_ match the design, but would require a big CSS hack to customise it further, so I thought let's start with this.
2023-11-28 10:44:34 +11:00
David Cook
b7ac1f2696 Move specific style rule to where it belongs
Also fixed it to line up properly. There's probably a better way to line it up but that's no my concern right now..
2023-11-28 10:44:34 +11:00
David Cook
968a224da6 Move vertical ellipsis menu to a ViewComponent
Javascript hasn't been moved in, as we don't seem to be set up for that yet.

We could make it smarter, and pass in an array of parameters to build the links (as in _order_links.html.haml). But why make it complicated if we don't need to?
2023-11-24 16:23:18 +11:00
David Cook
2bd2bea7b7 Remove need for class
Generally, I would say that style rules should have a BEM-style class name, but in this case it's terribly convenient to support a tags directly.
2023-11-24 16:14:28 +11:00
Filipe
c9084db933 Merge pull request #11761 from binarygit/open-external-links-in-new-page
Open external links in product description in a new page
2023-11-17 10:30:03 +00:00
Filipe
ed8fd41bec Merge pull request #11290 from cyrillefr/Orders_in_confirmation_state_cannot_be_completed_by_hub_or_shop
Fix Orders in confirmation state cannot be completed by hub or shop
2023-11-16 19:50:14 +00:00
binarygit
f52c7e8a5d Rename richtext controller and write specs 2023-11-13 21:31:41 +05:45
binarygit
e78fe663d2 Open external links in product description in a new page 2023-11-13 21:31:41 +05:45
Ryan Murphy
5c4b06730b Fix navigation behavior on enterprise panel tabs 2023-11-10 12:26:16 -05:00
Maikel
dd1f358d36 Merge pull request #11757 from dacook/buu-disabled-button
[BUU] Grey out disabled button
2023-11-08 13:48:23 +11:00
Rachel Arnould
1e15d32a24 Merge pull request #11679 from abdellani/new_and_unique_invoice_template
New and unique invoice template
2023-11-03 16:49:19 +01:00
David Cook
f9fc1657a8 Grey out disabled button
It looks like the disabled-bg colour was being used for pagination, but I can't see where. This way we should be able to apply the styles more consistently in the future.
2023-11-03 17:28:20 +11:00
David Cook
7fe6f3fe89 Disable form elements in a disabled-section
I chose to use the 'elements' collection rather than choosing which elements to include (ie this supports inputs, textareas, buttons and anything else I didn't think of). It could be a bit simpler if we assume the element is a form. Even simpler if it's a fieldset (that has a disabled property). But I didn't want to limit it too much.

Unfortunately JS is quite ugly compared to Ruby. And 'prettier' made it uglier in my opinion.
2023-11-03 14:32:58 +11:00
David Cook
d0abbc5d2c Ensure error summary always shows when error
Best viewed with whitespace ignored.
2023-11-03 14:32:58 +11:00
David Cook
41cf0bedfc Fix: Handle missing attributes 2023-11-03 14:32:58 +11:00
David Cook
f05d27b58b Show error message summary at top of form 2023-11-03 14:32:58 +11:00
Mohamed ABDELLANI
a08a2fd5f6 [skip ci] add terms of service link to the invoice. 2023-10-30 19:43:57 +01:00
cyrillefr
31cc0494c2 Icon for the new action
- Similar to the actual capture action
2023-10-29 22:05:34 +01:00
David Cook
04032e61e2 Prettier 2023-10-24 15:21:13 +11:00
David Cook
fdad45bb46 Rename 'modified' state to 'changed'
This conveniently matches the terminology used in both JavaScript and ActiveModel::Dirty.
2023-10-24 15:21:13 +11:00
Gaetan Craig-Riou
d2952d46a6 Add the highlighted version of the "ship" icon 2023-10-17 13:35:01 +11:00
Gaetan Craig-Riou
4639e53673 Remove insertToolTipMarkup
It's not great to have Stimulus controller rendering markup on `connect`
Stimulus is intended to add behavior to existing markup.
Plus add some documentation
2023-10-17 13:33:15 +11:00
lauriejefferson
e234b71b25 removed empty spaces 2023-10-13 19:25:12 +02:00
lauriejefferson
2020a9fa76 changed table row alignment to align-left and removed padding from table header 2023-10-13 19:25:12 +02:00
Konrad
5859d2ff78 Merge pull request #11114 from lauriejefferson/not-paid-order-confirmations-resemble-paid-orders-7603
Not paid order confirmations resemble paid orders 7603
2023-10-13 18:52:10 +02:00
HillaryOkello
d8e5f7ae4c Remove padding-top for the ordered lists 2023-10-11 15:55:52 +03:00
David Cook
fee126d6e1 Style form error messages
With an icon, and sentence case (upcase_first is similar to humanize, but simpler (https://dev.to/junko911/rails-helper-methods-to-change-the-form-of-strings-1h9c#upcase-first))
2023-10-06 14:15:07 +02:00
David Cook
5e478b8a76 Vertically align non-input content in table rows 2023-10-06 14:15:07 +02:00
David Cook
836f5a1fb3 Remove unused withError class
It added specificity but had no use.
I reviewed a couple of screens to make sure:
  - /admin/orders/Rx/customer
  - /admin/properties/new

I have to confess I don't know how Spree::Admin::BaseHelper is included, or where it's used.

Best viewed with whitespace ignored.
2023-10-06 14:15:07 +02:00
David Cook
6f43165006 Show generic error message when StimulusReflex fails
I decided not to invest the time to figure out how to test this..

The messages should have the same effect as the 500 error, but not technically a 500 because it's not handling a HTTP response. The documentation seems to state this covers server-side errors only (not network errors for example). I couldn't find any way to handle network errors with action cable.
2023-10-04 13:40:36 +02:00
David Cook
6d35b1ac71 Fix bulk form input styles
'header' fields are meant to be bold, and the field backgrounds are meant to match the cell background colour.
2023-10-04 13:40:36 +02:00
David Cook
ed207e3df6 DRY up code 2023-10-04 13:40:36 +02:00
David Cook
4467758a9f Apply code suggestion
Co-authored-by: Jean-Baptiste Bellet <jb.bellet@gmail.com>
2023-10-04 13:40:36 +02:00