0
Fork 0
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:
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] (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")))))

View file

@ -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))]

View file

@ -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]

View file

@ -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',