Comments (5)
My main thought is it seems like a lot of brain damage to keep two distinct ways to insert icons around.
Why are icons both react and angular components?
from metabase.
Its really the unfortunate side effect of the fact that you can't easily use angular directives and react components inside of one another without some tomfoolery.
from metabase.
Basically the options for BrainDamage(TM) as far as I can tell are:
- have two distinct places where the icons shapes are defined, and two different ways of using them (our current version)
- have two different ways of using a single source of truth for icons
- only be able to use certain icons in angular or react (problematic for checks or close)
- burn everything and use blue hyperlinks
my main reason for raising this was that before I start adding more icons in for things like charting options, etc that we think through what we could do to prevent duplication of what the shapes are supposed to look like, and how we use them to the best of our ability.
from metabase.
yeah, this looks fine to me 👍
over time i'm sure we could eventually find a way to make the icons reusable between both angular and react (or we would just abandon one for the other), but until then this makes sense to me.
my only suggestion is that in the angular directive, don't use templateUrl
, just use template
and put the template directly in the directive. that's faster performance wise and its easier when you are coding because you don't need to switch files.
from metabase.
That makes sense to me and I agree r.e. template vs templateUrl. Ideally this is a situation we won't be in for a long time.
from metabase.
Related Issues (20)
- [MLv2 × QP] Migrate post-processing middleware `metabase.query-processor.middleware.results-metadata`
- [MLv2 × QP] Migrate post-processing middleware `metabase.query-processor.middleware.limit`
- [MLv2 × QP] Migrate post-processing middleware `metabase.query-processor.middleware.enterprise`
- [MLv2 × QP] Migrate post-processing middleware `metabase.query-processor.middleware.add-rows-truncated`
- [MLv2 × QP] Migrate post-processing middleware `metabase.query-processor.middleware.splice-params-in-response`
- [MLv2 × QP] Migrate post-processing middleware `metabase.query-processor.middleware.add-timezone-info`
- [MLv2 × QP] Migrate post-processing middleware `metabase.query-processor.middleware.enterprise`
- [MLv2 × QP] Migrate post-processing middleware `metabase.query-processor.middleware.add-dimension-projections`
- [MLv2 × QP] Migrate post-processing middleware `metabase.query-processor.middleware.format-rows`
- [MLv2 × QP] Migrate post-processing middleware `metabase.query-processor.middleware.large-int-id`
- [MLv2 × QP] Migrate post-processing middleware `metabase.query-processor.middleware.visualization-settings`
- [MLv2 × QP] Migrate post-processing middleware `metabase.query-processor.middleware.cumulative-aggregations`
- [MLv2 × QP] Migrate post-processing middleware `metabase.query-processor.middleware.annotate`
- [MLv2 × QP] Migrate post-processing middleware `metabase.query-processor.middleware.fetch-source-query`
- Remove all doesn't work when adding/removing columns
- delete collection cannot work in archived collection view HOT 1
- Couldn't delete collection folder in the "Archive View" HOT 1
- Getting error while joining 2 queries in question "Card 728 does not exist." HOT 1
- Metabase deployment, the MySQL data used requires SSL authentication (CA certificate) HOT 3
- duration field when calculating the average is showing more than 24 hours HOT 5
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from metabase.