property.cljs 2.4 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667
  1. (ns frontend.handler.property
  2. "Property fns for both file and DB graphs"
  3. (:require [frontend.handler.db-based.property :as db-property-handler]
  4. [frontend.handler.file-based.property :as file-property-handler]
  5. [frontend.handler.file-based.page-property :as file-page-property]
  6. [frontend.config :as config]
  7. [frontend.util :as util]
  8. [frontend.state :as state]
  9. [frontend.db :as db]))
  10. (defn remove-block-property!
  11. [repo block-id key]
  12. (if (config/db-based-graph? repo)
  13. (db-property-handler/remove-block-property! repo block-id key)
  14. (file-property-handler/remove-block-property! block-id key)))
  15. (defn set-block-property!
  16. [repo block-id key v & opts]
  17. (if (config/db-based-graph? repo)
  18. (if (or (nil? v) (and (coll? v) (empty? v)))
  19. (db-property-handler/remove-block-property! repo block-id key)
  20. (db-property-handler/set-block-property! repo block-id key v opts))
  21. (file-property-handler/set-block-property! block-id key v)))
  22. (defn add-page-property!
  23. "Sanitized page-name, unsanitized key / value"
  24. [page-name key value]
  25. (let [repo (state/get-current-repo)]
  26. (if (config/db-based-graph? repo)
  27. (when-let [page (db/pull [:block/name (util/page-name-sanity-lc page-name)])]
  28. (set-block-property! repo (:block/uuid page) key value))
  29. (file-page-property/add-property! page-name key value))))
  30. (defn editing-new-property!
  31. []
  32. (state/clear-edit!))
  33. (defn remove-id-property
  34. [repo format content]
  35. (if (config/db-based-graph? repo)
  36. content
  37. (file-property-handler/remove-id-property format content)))
  38. (defn file-persist-block-id!
  39. [repo block-id]
  40. (when-not (config/db-based-graph? repo)
  41. (file-property-handler/set-block-property! block-id :id (str block-id))))
  42. (defn batch-remove-block-property!
  43. [repo block-ids key]
  44. (if (config/db-based-graph? repo)
  45. (db-property-handler/batch-remove-property! repo block-ids key)
  46. (file-property-handler/batch-remove-block-property! block-ids key)))
  47. (defn batch-set-block-property!
  48. [repo block-ids key value]
  49. (if (config/db-based-graph? repo)
  50. (if (nil? value)
  51. (db-property-handler/batch-remove-property! repo block-ids key)
  52. (db-property-handler/batch-set-property! repo block-ids key value))
  53. (file-property-handler/batch-set-block-property! block-ids key value)))
  54. (defn replace-key-with-id
  55. [repo m]
  56. (if (config/db-based-graph? repo)
  57. (db-property-handler/replace-key-with-id m)
  58. m))