|
75 | 75 | (strip-tags slot-val)
|
76 | 76 | (prin1-to-string slot-val))))))))
|
77 | 77 | (:method ((type (eql :single-relation)) description model-description-list)
|
78 |
| - (let ((relation-model-description-list (get-model-description-from-field-description-options description))) |
79 |
| - (cond |
80 |
| - (relation-model-description-list |
81 |
| - (list |
82 |
| - (list |
83 |
| - (keyword->symbol (getf description :name)) |
84 |
| - :label (getf description :title) |
85 |
| - :present-as 'text |
86 |
| - :reader (if (description-of-a-tree-p relation-model-description-list) |
87 |
| - (lambda (item) |
88 |
| - (let ((item (slot-value item (keyword->symbol (getf description :name))))) |
89 |
| - (and |
90 |
| - item |
91 |
| - (tree-path-pretty-print item)))) |
92 |
| - (lambda (item) |
93 |
| - (let ((item (slot-value item (keyword->symbol (getf description :name))))) |
94 |
| - (and |
95 |
| - item |
96 |
| - (bootstrap-typeahead-title item)))))))) |
97 |
| - (t (list |
98 |
| - (list |
99 |
| - (keyword->symbol (getf description :name)) |
100 |
| - :hidep t |
101 |
| - :label (getf description :title))))))) |
| 78 | + (let ((relation-model-description-list (get-model-description-from-field-description-options description))) |
| 79 | + (cond |
| 80 | + (relation-model-description-list |
| 81 | + (list |
| 82 | + (list |
| 83 | + (keyword->symbol (getf description :name)) |
| 84 | + :label (getf description :title) |
| 85 | + :present-as 'text |
| 86 | + :reader (if (description-of-a-tree-p relation-model-description-list) |
| 87 | + (lambda (item) |
| 88 | + (let ((item (slot-value item (keyword->symbol (getf description :name))))) |
| 89 | + (and |
| 90 | + item |
| 91 | + (tree-path-pretty-print item)))) |
| 92 | + (lambda (item) |
| 93 | + (let ((item (slot-value item (keyword->symbol (getf description :name))))) |
| 94 | + (and |
| 95 | + item |
| 96 | + (bootstrap-typeahead-title item)))))))) |
| 97 | + (t (list |
| 98 | + (list |
| 99 | + (keyword->symbol (getf description :name)) |
| 100 | + :hidep t |
| 101 | + :label (getf description :title))))))) |
102 | 102 | (:method ((type (eql :custom)) description model-description-list)
|
103 |
| - (destructuring-bind (package symbol) (mapcar #'string-upcase (ppcre:split ":+" (getf description :options))) |
104 |
| - (funcall (intern symbol package) :table description model-description-list)))) |
| 103 | + (let ((parts (ppcre:split ":+" (getf description :options)))) |
| 104 | + (if (equal (length parts) 2) |
| 105 | + (destructuring-bind (package symbol) (mapcar #'string-upcase parts) |
| 106 | + (funcall (intern symbol package) :form description model-description-list)) |
| 107 | + (list |
| 108 | + (list |
| 109 | + (keyword->symbol (getf description :name)) |
| 110 | + :hidep t)))))) |
0 commit comments