I believe that you should be able to put the components anywhere.  There's
a setting for that.  "SEARCH_COMPONENT_LOCATIONS"
Which reminds me, that we need to document this feature.


Director of Web Development - Farallon Geographics, Inc. - 971.227.3173


On Mon, Mar 16, 2020 at 12:40 PM Adam Cox <[email protected]> wrote:

> Hi Alexei, thanks for the response on this, I think it's all the info I
> need to get started in earnest. Can I place the filter anywhere in my
> project and then register it from there? That would be great, as I (think)
> it would mean that I would only have to migrate the core Arches js file
> that holds the code you referenced (query object) to my project in order to
> edit it. Does that sound right? I will likely add a migration to my project
> so that the new filter is registered that way, instead of following the
> package loading pattern.
>
> Thanks,
> Adam
>
> On Mon, Mar 16, 2020 at 2:18 PM Alexei Peters <[email protected]> wrote:
>
>> Hi Adam,
>> Everything you laid out is correct.  I"m sure you've already done this,
>> but looking at the existing components should be enlightening.
>> Because you have no UI, then your client side code should be pretty
>> simple.  All you should need to do is append your search parameter onto the
>> search url during initialization of the component.
>> Something like this:
>>
>>                 var queryObj = this.query();
>>>                 if(this.filter().length > 0){
>>>                     queryObj[componentName] = ko.toJSON(this.filter);
>>>                 } else {
>>>                     delete queryObj[componentName];
>>>                 }
>>>                 this.query(queryObj);
>>
>> Of course you'll need to be able to `RestoreState` of the component from
>> the url itself, but examples of this are in our existing components.
>>
>> You'll then need to handle for it on the backend.
>>
>> Cheers,
>> Alexei
>>
>>
>>
>> On Fri, Mar 13, 2020 at 12:04 PM Adam Cox <[email protected]> wrote:
>>
>>> Hello all,
>>>
>>> To migrate a project to arches 5, I need to reintegrate some custom
>>> search filters I had made in 4.4. The way search filters are implemented
>>> has been refactored in 5, so I could use a little guidance. The good thing
>>> is that I believe the way I have my custom filters set up will integrate
>>> well into the new pattern.
>>>
>>> From what I can tell, Arches 5 has individual search components that are
>>> registered in the database and whose logic is stored in arches/arches/
>>> app/search/*components*/. These components are typically linked to a
>>> knockout component which controls the UI (for the filters in my case, there
>>> will be no UI so hopefully that can be left blank). When a search is
>>> performed, these components are iterated and if one of them matches a
>>> filter that is included in the search request, then that filter is applied.
>>>
>>> Assuming all of that is correct, it seems like I would need to 1) create
>>> a new component (my_filter.py) and then register it. 2) inject a term into
>>> the request body behind the scenes (as I want the filter to apply to every
>>> search) which would activate the my_filter component.
>>>
>>> Any help with 1 or, especially, 2 would be appreciated. Of course, I
>>> would prefer to place this customization my own project and avoid changing
>>> anything in core Arches at all.
>>>
>>> Thanks,
>>> Adam
>>>
>>> --
>>> -- To post, send email to [email protected]. To
>>> unsubscribe, send email to [email protected].
>>> For more information, visit
>>> https://groups.google.com/d/forum/archesproject?hl=en
>>> ---
>>> You received this message because you are subscribed to the Google
>>> Groups "Arches Project" group.
>>> To unsubscribe from this group and stop receiving emails from it, send
>>> an email to [email protected].
>>> To view this discussion on the web visit
>>> https://groups.google.com/d/msgid/archesproject/01d9e3b9-b2dd-41d7-bb80-89f725618b42%40googlegroups.com
>>> <https://groups.google.com/d/msgid/archesproject/01d9e3b9-b2dd-41d7-bb80-89f725618b42%40googlegroups.com?utm_medium=email&utm_source=footer>
>>> .
>>>
>>

-- 
-- To post, send email to [email protected]. To unsubscribe, send 
email to [email protected]. For more information, 
visit https://groups.google.com/d/forum/archesproject?hl=en
--- 
You received this message because you are subscribed to the Google Groups 
"Arches Project" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to [email protected].
To view this discussion on the web visit 
https://groups.google.com/d/msgid/archesproject/CA%2BZLqy_Bk1ueK7s-xvk_pbz2A_B%2Bvt8PxU87QRQ-xg_AjFH4jg%40mail.gmail.com.

Reply via email to