Source: component/searcher.js

/*! meta-client/modules/component/searcher */
/*jslint
    browser, long
*/
/*global
*/
/**
 * searcher component.
 *
 * @module meta-client/modules/component/searcher
 */
import _ from "underscore";
import ko from "knockout";
import template from "./searcher.html";

export default Object.freeze({
    template,
    viewModel: {
        createViewModel: function ({
            i18nPrefix,
            loadAll = null,
            loadMore,
            objects
        }) {
            const vm = {};

            vm.i18nPrefix = (
                _.isEmpty(i18nPrefix)
                ? ""
                : i18nPrefix + "_"
            );
            vm.loadAll = loadAll;
            vm.loadMore = loadMore;
            vm.objects = objects;

            vm.canLoadAll = ko.pureComputed(() => _.isFunction(loadAll) && objects.canSearchMore());

            return Object.freeze(vm);
        }
    }
});