mirror of
https://github.com/penpot/penpot.git
synced 2025-03-11 07:11:32 -05:00
✨ Handling group inheritance
This commit is contained in:
parent
94c5004c33
commit
59022904fb
6 changed files with 48 additions and 45 deletions
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
|
@ -78,7 +78,8 @@
|
||||||
(defn ^:export dump-object [name]
|
(defn ^:export dump-object [name]
|
||||||
(let [page-id (get @state :current-page-id)]
|
(let [page-id (get @state :current-page-id)]
|
||||||
(let [objects (get-in @state [:workspace-data :pages-index page-id :objects])
|
(let [objects (get-in @state [:workspace-data :pages-index page-id :objects])
|
||||||
target (d/seek (fn [[id shape]] (= name (:name shape))) objects)]
|
target (or (d/seek (fn [[id shape]] (= name (:name shape))) objects)
|
||||||
|
(get objects (uuid name)))]
|
||||||
(->> target
|
(->> target
|
||||||
(logjs "state")))))
|
(logjs "state")))))
|
||||||
|
|
||||||
|
|
|
@ -116,7 +116,6 @@
|
||||||
(obj/merge! attrs (clj->js stroke-attrs)))
|
(obj/merge! attrs (clj->js stroke-attrs)))
|
||||||
attrs)))
|
attrs)))
|
||||||
|
|
||||||
|
|
||||||
(defn extract-svg-attrs
|
(defn extract-svg-attrs
|
||||||
[render-id svg-defs svg-attrs]
|
[render-id svg-defs svg-attrs]
|
||||||
(let [replace-id (fn [id]
|
(let [replace-id (fn [id]
|
||||||
|
@ -124,8 +123,9 @@
|
||||||
(str render-id "-" id)
|
(str render-id "-" id)
|
||||||
id))
|
id))
|
||||||
svg-attrs (-> svg-attrs
|
svg-attrs (-> svg-attrs
|
||||||
|
(usvg/clean-attrs)
|
||||||
(usvg/update-attr-ids replace-id)
|
(usvg/update-attr-ids replace-id)
|
||||||
(usvg/clean-attrs))
|
)
|
||||||
|
|
||||||
attrs (-> svg-attrs (dissoc :style) (clj->js))
|
attrs (-> svg-attrs (dissoc :style) (clj->js))
|
||||||
styles (-> svg-attrs (:style {}) (clj->js))]
|
styles (-> svg-attrs (:style {}) (clj->js))]
|
||||||
|
|
|
@ -84,16 +84,18 @@
|
||||||
|
|
||||||
(mf/defc svg-defs [{:keys [shape render-id]}]
|
(mf/defc svg-defs [{:keys [shape render-id]}]
|
||||||
(let [svg-defs (:svg-defs shape)
|
(let [svg-defs (:svg-defs shape)
|
||||||
_ (when (:svg-transform shape) (.log js/console (str (:svg-transform shape))))
|
;;_ (when (:svg-transform shape)
|
||||||
|
;; (.log js/console (:name shape) (:old-transform shape) (str (:svg-transform shape))))
|
||||||
|
|
||||||
transform (mf/use-memo
|
transform (mf/use-memo
|
||||||
(mf/deps shape)
|
(mf/deps shape)
|
||||||
#(if (= :svg-raw (:type shape))
|
#(if (= :svg-raw (:type shape))
|
||||||
(gmt/matrix)
|
(gmt/matrix)
|
||||||
(usvg/svg-transform-matrix shape)))
|
(usvg/svg-transform-matrix shape)))
|
||||||
|
|
||||||
;;transform (gmt/multiply
|
transform (gmt/multiply
|
||||||
;; transform
|
transform
|
||||||
;; (:svg-transform shape (gmt/matrix)))
|
(or (:svg-transform shape) (gmt/matrix)))
|
||||||
|
|
||||||
prefix-id
|
prefix-id
|
||||||
(fn [id]
|
(fn [id]
|
||||||
|
|
72
vendor/svgclean/main.js
vendored
72
vendor/svgclean/main.js
vendored
|
@ -15,56 +15,56 @@ const plugins = [
|
||||||
*/
|
*/
|
||||||
|
|
||||||
const plugins = [
|
const plugins = [
|
||||||
'removeDoctype',
|
// 'removeDoctype',
|
||||||
'removeXMLProcInst',
|
// 'removeXMLProcInst',
|
||||||
'removeComments',
|
// 'removeComments',
|
||||||
'removeMetadata',
|
// 'removeMetadata',
|
||||||
// 'removeXMLNS',
|
// 'removeXMLNS',
|
||||||
'removeEditorsNSData',
|
// 'removeEditorsNSData',
|
||||||
'cleanupAttrs',
|
// 'cleanupAttrs',
|
||||||
'inlineStyles',
|
// 'inlineStyles',
|
||||||
'minifyStyles',
|
// 'minifyStyles',
|
||||||
// 'convertStyleToAttrs'
|
// 'convertStyleToAttrs'
|
||||||
// 'cleanupIDs',
|
// 'cleanupIDs',
|
||||||
// 'prefixIds',
|
// 'prefixIds',
|
||||||
// 'removeRasterImages',
|
// 'removeRasterImages',
|
||||||
// 'removeUselessDefs',
|
// 'removeUselessDefs',
|
||||||
'cleanupNumericValues',
|
// 'cleanupNumericValues',
|
||||||
// 'cleanupListOfValues',
|
// 'cleanupListOfValues',
|
||||||
'convertColors',
|
// 'convertColors',
|
||||||
'removeUnknownsAndDefaults',
|
// 'removeUnknownsAndDefaults',
|
||||||
'removeNonInheritableGroupAttrs',
|
// 'removeNonInheritableGroupAttrs',
|
||||||
'removeUselessStrokeAndFill',
|
// 'removeUselessStrokeAndFill',
|
||||||
// 'removeViewBox',
|
// 'removeViewBox',
|
||||||
'cleanupEnableBackground',
|
// 'cleanupEnableBackground',
|
||||||
'removeHiddenElems',
|
// 'removeHiddenElems',
|
||||||
'removeEmptyText',
|
// 'removeEmptyText',
|
||||||
'convertShapeToPath',
|
// 'convertShapeToPath',
|
||||||
'convertEllipseToCircle',
|
// 'convertEllipseToCircle',
|
||||||
// 'moveElemsAttrsToGroup',
|
// 'moveElemsAttrsToGroup',
|
||||||
'moveGroupAttrsToElems',
|
// 'moveGroupAttrsToElems',
|
||||||
// 'collapseGroups',
|
// 'collapseGroups',
|
||||||
{'convertPathData': {
|
// {'convertPathData': {
|
||||||
'lineShorthands': false,
|
// 'lineShorthands': false,
|
||||||
'curveSmoothShorthands': false,
|
// 'curveSmoothShorthands': false,
|
||||||
'forceAbsolutePath': true,
|
// 'forceAbsolutePath': true,
|
||||||
}},
|
// }},
|
||||||
'convertTransform',
|
// 'convertTransform',
|
||||||
'removeEmptyAttrs',
|
// 'removeEmptyAttrs',
|
||||||
'removeEmptyContainers',
|
// 'removeEmptyContainers',
|
||||||
'mergePaths',
|
// 'mergePaths',
|
||||||
'removeUnusedNS',
|
// 'removeUnusedNS',
|
||||||
// 'sortAttrs',
|
// 'sortAttrs',
|
||||||
'sortDefsChildren',
|
// 'sortDefsChildren',
|
||||||
'removeTitle',
|
// 'removeTitle',
|
||||||
'removeDesc',
|
// 'removeDesc',
|
||||||
'removeDimensions',
|
// 'removeDimensions',
|
||||||
'removeAttrs',
|
// 'removeAttrs',
|
||||||
// 'removeAttributesBySelector',
|
// 'removeAttributesBySelector',
|
||||||
// 'removeElementsByAttr',
|
// 'removeElementsByAttr',
|
||||||
// 'addClassesToSVGElement',
|
// 'addClassesToSVGElement',
|
||||||
'removeStyleElement',
|
// 'removeStyleElement',
|
||||||
'removeScriptElement',
|
// 'removeScriptElement',
|
||||||
// 'addAttributesToSVGElement',
|
// 'addAttributesToSVGElement',
|
||||||
// 'removeOffCanvasPaths',
|
// 'removeOffCanvasPaths',
|
||||||
// 'reusePaths',
|
// 'reusePaths',
|
||||||
|
|
Loading…
Add table
Reference in a new issue