0
Fork 0
mirror of https://github.com/penpot/penpot.git synced 2025-03-10 14:51:37 -05:00

Handling group inheritance

This commit is contained in:
alonso.torres 2021-02-25 09:41:57 +01:00 committed by Andrey Antukh
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

View file

@ -78,7 +78,8 @@
(defn ^:export dump-object [name]
(let [page-id (get @state :current-page-id)]
(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
(logjs "state")))))

View file

@ -116,7 +116,6 @@
(obj/merge! attrs (clj->js stroke-attrs)))
attrs)))
(defn extract-svg-attrs
[render-id svg-defs svg-attrs]
(let [replace-id (fn [id]
@ -124,8 +123,9 @@
(str render-id "-" id)
id))
svg-attrs (-> svg-attrs
(usvg/clean-attrs)
(usvg/update-attr-ids replace-id)
(usvg/clean-attrs))
)
attrs (-> svg-attrs (dissoc :style) (clj->js))
styles (-> svg-attrs (:style {}) (clj->js))]

View file

@ -84,16 +84,18 @@
(mf/defc svg-defs [{:keys [shape render-id]}]
(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
(mf/deps shape)
#(if (= :svg-raw (:type shape))
(gmt/matrix)
(usvg/svg-transform-matrix shape)))
;;transform (gmt/multiply
;; transform
;; (:svg-transform shape (gmt/matrix)))
transform (gmt/multiply
transform
(or (:svg-transform shape) (gmt/matrix)))
prefix-id
(fn [id]

View file

@ -15,56 +15,56 @@ const plugins = [
*/
const plugins = [
'removeDoctype',
'removeXMLProcInst',
'removeComments',
'removeMetadata',
// 'removeDoctype',
// 'removeXMLProcInst',
// 'removeComments',
// 'removeMetadata',
// 'removeXMLNS',
'removeEditorsNSData',
'cleanupAttrs',
'inlineStyles',
'minifyStyles',
// 'removeEditorsNSData',
// 'cleanupAttrs',
// 'inlineStyles',
// 'minifyStyles',
// 'convertStyleToAttrs'
// 'cleanupIDs',
// 'prefixIds',
// 'removeRasterImages',
// 'removeUselessDefs',
'cleanupNumericValues',
// 'cleanupNumericValues',
// 'cleanupListOfValues',
'convertColors',
'removeUnknownsAndDefaults',
'removeNonInheritableGroupAttrs',
'removeUselessStrokeAndFill',
// 'convertColors',
// 'removeUnknownsAndDefaults',
// 'removeNonInheritableGroupAttrs',
// 'removeUselessStrokeAndFill',
// 'removeViewBox',
'cleanupEnableBackground',
'removeHiddenElems',
'removeEmptyText',
'convertShapeToPath',
'convertEllipseToCircle',
// 'cleanupEnableBackground',
// 'removeHiddenElems',
// 'removeEmptyText',
// 'convertShapeToPath',
// 'convertEllipseToCircle',
// 'moveElemsAttrsToGroup',
'moveGroupAttrsToElems',
// 'moveGroupAttrsToElems',
// 'collapseGroups',
{'convertPathData': {
'lineShorthands': false,
'curveSmoothShorthands': false,
'forceAbsolutePath': true,
}},
'convertTransform',
'removeEmptyAttrs',
'removeEmptyContainers',
'mergePaths',
'removeUnusedNS',
// {'convertPathData': {
// 'lineShorthands': false,
// 'curveSmoothShorthands': false,
// 'forceAbsolutePath': true,
// }},
// 'convertTransform',
// 'removeEmptyAttrs',
// 'removeEmptyContainers',
// 'mergePaths',
// 'removeUnusedNS',
// 'sortAttrs',
'sortDefsChildren',
'removeTitle',
'removeDesc',
'removeDimensions',
'removeAttrs',
// 'sortDefsChildren',
// 'removeTitle',
// 'removeDesc',
// 'removeDimensions',
// 'removeAttrs',
// 'removeAttributesBySelector',
// 'removeElementsByAttr',
// 'addClassesToSVGElement',
'removeStyleElement',
'removeScriptElement',
// 'removeStyleElement',
// 'removeScriptElement',
// 'addAttributesToSVGElement',
// 'removeOffCanvasPaths',
// 'reusePaths',