| @@ 171-203 (lines=33) @@ | ||
| 168 | value = [value] |
|
| 169 | return value |
|
| 170 | ||
| 171 | def get_input_widget_attributes(self): |
|
| 172 | """Return input widget attributes for the ReactJS component |
|
| 173 | """ |
|
| 174 | context = self.get_context() |
|
| 175 | values = self.get_value() |
|
| 176 | attributes = { |
|
| 177 | "data-id": self.id, |
|
| 178 | "data-name": self.name, |
|
| 179 | "data-values": values, |
|
| 180 | "data-value_key": getattr(self, "value_key", "uid"), |
|
| 181 | "data-api_url": self.get_api_url(), |
|
| 182 | "data-query": getattr(self, "query", {}), |
|
| 183 | "data-catalog": getattr(self, "catalog", "portal_catalog"), |
|
| 184 | "data-search_index": getattr(self, "search_index", "Title"), |
|
| 185 | "data-search_wildcard": getattr(self, "search_wildcard", True), |
|
| 186 | "data-allow_user_value": getattr(self, "allow_user_value", False), |
|
| 187 | "data-columns": getattr(self, "columns", []), |
|
| 188 | "data-display_template": getattr(self, "display_template", None), |
|
| 189 | "data-limit": getattr(self, "limit", 5), |
|
| 190 | "data-multi_valued": getattr(self, "multi_valued", True), |
|
| 191 | "data-disabled": getattr(self, "disabled", False), |
|
| 192 | "data-readonly": getattr(self, "readonly", False), |
|
| 193 | "data-hide_input_after_select": getattr( |
|
| 194 | self, "hide_user_input_after_select", False), |
|
| 195 | } |
|
| 196 | ||
| 197 | for key, value in attributes.items(): |
|
| 198 | # lookup attributes for overrides |
|
| 199 | value = self.lookup(key, self.field, context, default=value) |
|
| 200 | # convert all attributes to JSON |
|
| 201 | attributes[key] = json.dumps(value) |
|
| 202 | ||
| 203 | return attributes |
|
| 204 | ||
| 205 | def get_api_url(self): |
|
| 206 | """JSON API URL to use for this widget |
|
| @@ 100-130 (lines=31) @@ | ||
| 97 | value = [value] |
|
| 98 | return value |
|
| 99 | ||
| 100 | def get_input_widget_attributes(self, context, field, value): |
|
| 101 | """Return input widget attributes for the ReactJS component |
|
| 102 | """ |
|
| 103 | attributes = { |
|
| 104 | "data-id": field.getName(), |
|
| 105 | "data-name": field.getName(), |
|
| 106 | "data-values": self.to_value(value), |
|
| 107 | "data-value_key": getattr(self, "value_key", "uid"), |
|
| 108 | "data-api_url": self.get_api_url(), |
|
| 109 | "data-query": getattr(self, "query", {}), |
|
| 110 | "data-catalog": getattr(self, "catalog", "portal_catalog"), |
|
| 111 | "data-search_index": getattr(self, "search_index", "Title"), |
|
| 112 | "data-search_wildcard": getattr(self, "search_wildcard", True), |
|
| 113 | "data-allow_user_value": getattr(self, "allow_user_value", False), |
|
| 114 | "data-columns": getattr(self, "columns", []), |
|
| 115 | "data-display_template": getattr(self, "display_template", None), |
|
| 116 | "data-limit": getattr(self, "limit", 5), |
|
| 117 | "data-multi_valued": getattr(self, "multi_valued", True), |
|
| 118 | "data-disabled": getattr(self, "disabled", False), |
|
| 119 | "data-readonly": getattr(self, "readonly", False), |
|
| 120 | "data-hide_input_after_select": getattr( |
|
| 121 | self, "hide_user_input_after_select", False), |
|
| 122 | } |
|
| 123 | ||
| 124 | for key, value in attributes.items(): |
|
| 125 | # lookup attributes for overrides |
|
| 126 | value = self.lookup(key, field, context, default=value) |
|
| 127 | # convert all attributes to JSON |
|
| 128 | attributes[key] = json.dumps(value) |
|
| 129 | ||
| 130 | return attributes |
|
| 131 | ||
| 132 | def get_api_url(self): |
|
| 133 | """JSON API URL to use for this widget |
|