cluedin-widget
Version: 
This is the project for creating and managing widgets in CluedIn.
1,691 lines (1,291 loc) • 2.02 MB
JavaScript
(function e(t,n,r){function s(o,u){if(!n[o]){if(!t[o]){var a=typeof require=="function"&&require;if(!u&&a)return a(o,!0);if(i)return i(o,!0);var f=new Error("Cannot find module '"+o+"'");throw f.code="MODULE_NOT_FOUND",f}var l=n[o]={exports:{}};t[o][0].call(l.exports,function(e){var n=t[o][1][e];return s(n?n:e)},l,l.exports,e,t,n,r)}return n[o].exports}var i=typeof require=="function"&&require;for(var o=0;o<r.length;o++)s(r[o]);return s})({1:[function(require,module,exports){
'use strict';
require('../core/global');
require('../widget/onBoarding/index.jsx');
require('../widget/lastIssues/index.jsx');
require('../widget/lastdocuments/index.jsx');
require('../widget/lasttools/index.jsx');
require('../widget/lastdeals/index.jsx');
require('../widget/lasttasks/index.jsx');
require('../widget/lastorganizations/index.jsx');
require('../widget/integrationReports/index.jsx');
require('../widget/entity/entityOrganizationHeader/index.jsx');
require('../widget/entity/entitySourceAndProfile/index.jsx');
require('../widget/entity/entitySocialOverview/index.jsx');
require('../widget/entity/entityRelated/index.jsx');
require('../widget/entity/entityPersonList/index.jsx');
require('../widget/entity/entitySuggestedSearch/index.jsx');
require('../widget/entity/entityHeader/index.jsx');
require('../widget/entity/entityProperty/index.jsx');
require('../widget/person/personProfile/index.jsx');
require('../core/components/bootstrap.jsx');
},{"../core/components/bootstrap.jsx":23,"../core/global":93,"../widget/entity/entityHeader/index.jsx":627,"../widget/entity/entityOrganizationHeader/index.jsx":628,"../widget/entity/entityPersonList/index.jsx":629,"../widget/entity/entityProperty/index.jsx":630,"../widget/entity/entityRelated/index.jsx":631,"../widget/entity/entitySocialOverview/index.jsx":633,"../widget/entity/entitySourceAndProfile/index.jsx":634,"../widget/entity/entitySuggestedSearch/index.jsx":635,"../widget/integrationReports/index.jsx":636,"../widget/lastIssues/index.jsx":637,"../widget/lastdeals/index.jsx":638,"../widget/lastdocuments/index.jsx":639,"../widget/lastorganizations/index.jsx":640,"../widget/lasttasks/index.jsx":641,"../widget/lasttools/index.jsx":642,"../widget/onBoarding/index.jsx":643,"../widget/person/personProfile/index.jsx":644}],2:[function(require,module,exports){
'use strict';
Object.defineProperty(exports, "__esModule", {
    value: true
});
exports.fetchAllInvitations = fetchAllInvitations;
exports.fetchBoarding = fetchBoarding;
exports.markAsVisited = markAsVisited;
exports.markAsSearched = markAsSearched;
exports.shouldFetchBoardingIfNeeded = shouldFetchBoardingIfNeeded;
var _constants = require('../constants');
var _constants2 = _interopRequireDefault(_constants);
var _boarding = require('../data/boarding');
var _generic = require('./generic');
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
var shouldFetchBoarding = function shouldFetchBoarding(state) {
    return !state.boardingInfo;
};
var requestBoarding = function requestBoarding() {
    return {
        type: _constants2.default.boarding.REQUEST_BOARDING
    };
};
var receiveBoarding = function receiveBoarding(boarding) {
    return {
        type: _constants2.default.boarding.RECEIVE_BOARDING,
        data: boarding
    };
};
var invalidBoarding = function invalidBoarding() {
    return {
        type: _constants2.default.boarding.INVALID_BOARDING
    };
};
var requestAllInvitations = function requestAllInvitations() {
    return {
        type: _constants2.default.boarding.REQUEST_INVITATIONS
    };
};
var invalidAllInvitations = function invalidAllInvitations() {
    return {
        type: _constants2.default.boarding.INVALID_INVITATIONS
    };
};
var receiveAllInvitations = function receiveAllInvitations(invitations) {
    return {
        type: _constants2.default.boarding.RECEIVE_INVITATIONS,
        data: {
            invitations: invitations
        }
    };
};
function fetchAllInvitations(org) {
    return function (dispatch) {
        dispatch(requestAllInvitations());
        return (0, _boarding.allInvitations)(org).then(function (invitations) {
            dispatch(receiveAllInvitations(invitations));
        }).catch((0, _generic.unauthorized)(dispatch, invalidAllInvitations));
    };
}
function fetchBoarding(org) {
    return function (dispatch) {
        dispatch(requestBoarding());
        return (0, _boarding.getBoarding)(org).then(function (resp) {
            dispatch(receiveBoarding(resp));
        }).catch((0, _generic.unauthorized)(dispatch, invalidBoarding));
    };
}
var receiveMarkAsVisited = function receiveMarkAsVisited() {
    return {
        type: _constants2.default.boarding.RECEIVE_MARK_AS_VISITED
    };
};
var invalidMarkAsVisited = function invalidMarkAsVisited() {
    return {
        type: _constants2.default.boarding.INVALID_MARK_AS_VISITED
    };
};
function markAsVisited(org) {
    return function (dispatch) {
        dispatch(requestBoarding());
        return (0, _boarding.getBoarding)(org).then(function (boarding) {
            dispatch(receiveBoarding(boarding));
            return (0, _boarding.hasVisited)(boarding).then(function (resp) {
                dispatch(receiveMarkAsVisited(resp));
            }).catch((0, _generic.unauthorized)(dispatch, invalidMarkAsVisited));
        });
    };
}
var receiveMarkAsSearched = function receiveMarkAsSearched() {
    return {
        type: _constants2.default.boarding.RECEIVE_MARK_AS_SEARCHED
    };
};
var invalidMarkAsSearched = function invalidMarkAsSearched() {
    return {
        type: _constants2.default.boarding.INVALID_MARK_AS_SEARCHED
    };
};
function markAsSearched(org) {
    return function (dispatch) {
        dispatch(requestBoarding());
        return (0, _boarding.getBoarding)(org).then(function (boarding) {
            dispatch(receiveBoarding(boarding));
            return (0, _boarding.hasSearched)(boarding).then(function (resp) {
                dispatch(receiveMarkAsSearched(resp));
            }).catch((0, _generic.unauthorized)(dispatch, invalidMarkAsSearched));
        });
    };
}
function shouldFetchBoardingIfNeeded(org) {
    return function (dispatch, getState) {
        if (shouldFetchBoarding(getState())) {
            return dispatch(fetchBoarding(org));
        }
    };
}
},{"../constants":79,"../data/boarding":80,"./generic":8}],3:[function(require,module,exports){
'use strict';
Object.defineProperty(exports, "__esModule", {
    value: true
});
exports.goToLocation = goToLocation;
exports.removeWidget = removeWidget;
exports.fetchLayout = fetchLayout;
exports.fetchLayoutIfNeeded = fetchLayoutIfNeeded;
exports.fetchMostConnectedIfNeeded = fetchMostConnectedIfNeeded;
exports.shouldResetLayout = shouldResetLayout;
var _constants = require('../constants');
var _constants2 = _interopRequireDefault(_constants);
var _index = require('../data/index');
var _config = require('../config');
var _config2 = _interopRequireDefault(_config);
var _generic = require('./generic');
var _index2 = require('../userProfile/index');
var _index3 = _interopRequireDefault(_index2);
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
function goToLocation(location, param) {
    if (location === "addProvider") {
        window.location = _config2.default.location.goToAppProvider();
    }
    if (location === "addProviderById") {
        window.location = _config2.default.location.gotToAppProvider(param);
    }
    if (location === "goToSearch") {
        window.location = _config2.default.location.goToSearch(param);
    }
    if (location === "entity") {
        window.location = _config2.default.location.goToEntity(param);
    }
    if (location === "goToInviteUser") {
        window.location = _config2.default.location.goToInviteUser(param);
    }
    if (location === "allConnectedProvider") {
        window.location = _config2.default.location.goToConnectedProvider();
    }
    return {
        type: _constants2.default.core.GOTOLOCATION
    };
}
var requestLayout = function requestLayout() {
    return {
        type: _constants2.default.core.REQUEST_LAYOUT
    };
};
var receiveLayout = function receiveLayout(layout, index) {
    return {
        type: _constants2.default.core.RECEIVE_LAYOUT,
        data: {
            layout: layout,
            index: index
        }
    };
};
var invalidLayout = function invalidLayout() {
    return {
        type: _constants2.default.core.INVALID_LAYOUT
    };
};
function removeWidget(name, option) {
    _index3.default.removeWidget(option.type, name);
    return {
        type: _constants2.default.core.REMOVE_WIDGET,
        data: {
            name: name,
            layoutIndex: option.layoutIndex,
            tabIndex: option.tabIndex,
            type: option.type
        }
    };
}
function fetchLayout(type, index) {
    return function (dispatch) {
        dispatch(requestLayout());
        return (0, _index.getLayout)(type).then(function (layout) {
            dispatch(receiveLayout(layout, index));
        }).catch((0, _generic.unauthorized)(dispatch, invalidLayout));
    };
}
function fetchLayoutIfNeeded(type, index) {
    return function (dispatch) {
        return dispatch(fetchLayout(type, index));
    };
}
var invalidMostConnected = function invalidMostConnected() {
    return function (dispatch, getState) {
        getState();
    };
};
var requestMostConnected = function requestMostConnected() {
    return {
        type: _constants2.default.core.REQUEST_MOST_CONNECTED
    };
};
var shouldFetchMostConnected = function shouldFetchMostConnected(state) {
    return !(state.connectedData && state.connectedData.length > 0);
};
var receiveMostConnected = function receiveMostConnected(connectedData) {
    return {
        type: _constants2.default.core.RECEIVE_MOST_CONNECTED,
        data: connectedData
    };
};
var fetchMostConnected = function fetchMostConnected() {
    return function (dispatch) {
        dispatch(requestMostConnected());
        return (0, _index.getMostConnectedData)().then(function (entities) {
            dispatch(receiveMostConnected(entities));
        }).catch((0, _generic.unauthorized)(dispatch, invalidMostConnected));
    };
};
function fetchMostConnectedIfNeeded() {
    return function (dispatch, getState) {
        if (shouldFetchMostConnected(getState())) {
            return dispatch(fetchMostConnected());
        }
    };
}
function shouldResetLayout() {
    return function (dispatch) {
        return dispatch({
            type: _constants2.default.core.RESET_LAYOUT
        });
    };
}
},{"../config":76,"../constants":79,"../data/index":85,"../userProfile/index":116,"./generic":8}],4:[function(require,module,exports){
'use strict';
Object.defineProperty(exports, "__esModule", {
    value: true
});
exports.fetchGenericLastDeals = fetchGenericLastDeals;
var _constants = require('../constants');
var _constants2 = _interopRequireDefault(_constants);
var _generic = require('./generic');
var _deals = require('../data/deals');
var _fake = require('../../iso/entity/fake');
var _fake2 = _interopRequireDefault(_fake);
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
var requestGenericLastDeals = function requestGenericLastDeals() {
    return {
        type: _constants2.default.deal.REQUEST_GENERIC_LAST_DEALS
    };
};
var receiveGenericLastDeals = function receiveGenericLastDeals(deals, page, fake) {
    if (!page) {
        page = 0;
    }
    return {
        type: _constants2.default.deal.RECEIVE_GENERIC_LAST_DEALS,
        data: {
            deals: deals,
            isFake: fake,
            nextPage: page + 1
        }
    };
};
var invalidGenericLastDeals = function invalidGenericLastDeals() {
    return {
        type: _constants2.default.deal.INVALID_GENERIC_LAST_DEALS
    };
};
function fetchGenericLastDeals(pageNumber) {
    return function (dispatch) {
        dispatch(requestGenericLastDeals());
        return (0, _deals.getLastDeals)(pageNumber || 0).then(function (resp) {
            if (!resp || resp.length === 0 && (!pageNumber || pageNumber === 0)) {
                return dispatch(receiveGenericLastDeals(_fake2.default.deal || [], pageNumber, true));
            }
            dispatch(receiveGenericLastDeals(resp, pageNumber));
        }).catch((0, _generic.unauthorized)(dispatch, invalidGenericLastDeals));
    };
}
},{"../../iso/entity/fake":122,"../constants":79,"../data/deals":81,"./generic":8}],5:[function(require,module,exports){
'use strict';
Object.defineProperty(exports, "__esModule", {
    value: true
});
exports.fetchGenericLastDocuments = fetchGenericLastDocuments;
var _constants = require('../constants');
var _constants2 = _interopRequireDefault(_constants);
var _generic = require('./generic');
var _document = require('../data/document');
var _fake = require('../../iso/entity/fake');
var _fake2 = _interopRequireDefault(_fake);
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
var requestGenericLastDocuments = function requestGenericLastDocuments() {
    return {
        type: _constants2.default.document.REQUEST_GENERIC_LAST_DOCUMENTS
    };
};
var receiveGenericLastDocuments = function receiveGenericLastDocuments(documents, page, fake) {
    if (!page) {
        page = 0;
    }
    return {
        type: _constants2.default.document.RECEIVE_GENERIC_LAST_DOCUMENTS,
        data: {
            documents: documents,
            isFake: fake,
            nextPage: page + 1
        }
    };
};
var invalidGenericLastDocuments = function invalidGenericLastDocuments() {
    return {
        type: _constants2.default.document.INVALID_GENERIC_LAST_DOCUMENTS
    };
};
function fetchGenericLastDocuments(pageNumber, id) {
    return function (dispatch) {
        dispatch(requestGenericLastDocuments());
        return (0, _document.getLastDocuments)(pageNumber || 0, id).then(function (resp) {
            if (!resp || resp.length === 0 && (!pageNumber || pageNumber === 0)) {
                return dispatch(receiveGenericLastDocuments(_fake2.default.document, pageNumber, true));
            }
            dispatch(receiveGenericLastDocuments(resp, pageNumber));
        }).catch((0, _generic.unauthorized)(dispatch, invalidGenericLastDocuments));
    };
};
},{"../../iso/entity/fake":122,"../constants":79,"../data/document":82,"./generic":8}],6:[function(require,module,exports){
'use strict';
Object.defineProperty(exports, "__esModule", {
    value: true
});
exports.shouldFetchGenericLatest = shouldFetchGenericLatest;
exports.shouldFetchSuggestedSearch = shouldFetchSuggestedSearch;
exports.shouldFetchEntityIfNeeded = shouldFetchEntityIfNeeded;
var _constants = require('../constants');
var _constants2 = _interopRequireDefault(_constants);
var _generic = require('./generic');
var _entity = require('../data/entity');
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
var entities = {};
var requestEntity = function requestEntity() {
    return {
        type: _constants2.default.entity.REQUEST_ENTITY
    };
};
var receiveEntity = function receiveEntity(entity, addToEntities) {
    return {
        type: _constants2.default.entity.RECEIVE_ENTITY,
        data: { entity: entity, addToEntities: addToEntities }
    };
};
var invalidEntity = function invalidEntity() {
    return {
        type: _constants2.default.entity.INVALID_ENTITY
    };
};
var shouldFetchEntity = function shouldFetchEntity(state, id) {
    return !state.entity.selectedEntity || state.entity.selectedEntity.id !== id;
};
var fetchEntity = function fetchEntity(state, id) {
    return function (dispatch) {
        var entityAlreadyFetch = state.entity.entities[id];
        if (entityAlreadyFetch) {
            return dispatch(receiveEntity(entityAlreadyFetch));
        }
        dispatch(requestEntity(id));
        return (0, _entity.getEntity)(id).then(function (resp) {
            if (!resp) {
                return dispatch(invalidEntity());
            }
            dispatch(receiveEntity(resp, true));
        }).catch((0, _generic.unauthorized)(dispatch, invalidEntity));
    };
};
var requestGenericLatest = function requestGenericLatest(type) {
    return {
        type: _constants2.default.entity.REQUEST_GENERIC_LATEST,
        data: { type: type }
    };
};
var invalidGenericLatest = function invalidGenericLatest() {
    return {
        type: _constants2.default.entity.INVALID_GENERIC_LATEST
    };
};
var receiveGenericLatest = function receiveGenericLatest(entities, type) {
    return {
        type: _constants2.default.entity.RECEIVE_GENERIC_LATEST,
        data: { entities: entities, type: type }
    };
};
function shouldFetchGenericLatest(type, id) {
    return function (dispatch) {
        dispatch(requestGenericLatest(type));
        return (0, _entity.getLatest)(type, id).then(function (resp) {
            if (!resp) {
                return dispatch(invalidGenericLatest());
            }
            dispatch(receiveGenericLatest(resp, type));
        }).catch((0, _generic.unauthorized)(dispatch, invalidEntity));
    };
}
var requestSuggestedSearch = function requestSuggestedSearch(search, index) {
    return {
        type: _constants2.default.entity.REQUEST_SUGGESTED_SEARCH,
        data: {
            searchQuery: search,
            index: index
        }
    };
};
var invalidSuggestedSearch = function invalidSuggestedSearch(search, index) {
    return {
        type: _constants2.default.entity.INVALID_SUGGESTED_SEARCH,
        data: {
            searchQuery: search,
            index: index
        }
    };
};
var receiveSuggestedSearch = function receiveSuggestedSearch(entities, search, index) {
    return {
        type: _constants2.default.entity.RECEIVE_SUGGESTED_SEARCH,
        data: {
            searchQuery: search,
            entities: entities,
            index: index
        }
    };
};
function shouldFetchSuggestedSearch(search, index) {
    return function (dispatch) {
        dispatch(requestSuggestedSearch(search, index));
        return (0, _entity.getSuggestedSearch)(search).then(function (resp) {
            if (!resp) {
                return dispatch(invalidSuggestedSearch());
            }
            dispatch(receiveSuggestedSearch(resp, search, index));
        }).catch((0, _generic.unauthorized)(dispatch, invalidSuggestedSearch));
    };
}
function shouldFetchEntityIfNeeded(id) {
    return function (dispatch, getState) {
        if (shouldFetchEntity(getState(), id)) {
            return dispatch(fetchEntity(getState(), id));
        }
    };
}
},{"../constants":79,"../data/entity":83,"./generic":8}],7:[function(require,module,exports){
'use strict';
Object.defineProperty(exports, "__esModule", {
    value: true
});
exports.unFollow = unFollow;
exports.follow = follow;
exports.fetchAllFollow = fetchAllFollow;
var _constants = require('../constants');
var _constants2 = _interopRequireDefault(_constants);
var _generic = require('./generic');
var _follow = require('../data/follow');
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
var dispatchFollow = __cluedIn.dispatchFollow;
var dispatchUnFollow = __cluedIn.dispatchUnFollow;
var invalidFollow = function invalidFollow(id) {
    return {
        type: _constants2.default.follow.INVALID_FOLLOW,
        data: {
            id: id
        }
    };
};
var receive_follow = function receive_follow(entity) {
    return {
        type: _constants2.default.follow.RECEIVE_FOLLOW,
        data: {
            entity: entity
        }
    };
};
var requestFollow = function requestFollow(id) {
    return {
        type: _constants2.default.follow.REQUEST_FOLLOW,
        data: {
            id: id
        }
    };
};
var requestUnFollow = function requestUnFollow(id) {
    return {
        type: _constants2.default.follow.REQUEST_UNFOLLOW,
        data: {
            id: id
        }
    };
};
var invalidUnFollow = function invalidUnFollow(id) {
    return {
        type: _constants2.default.follow.REQUEST_UNFOLLOW,
        data: {
            id: id
        }
    };
};
var receive_UnFollow = function receive_UnFollow(entity) {
    return {
        type: _constants2.default.follow.RECEIVE_UNFOLLOW,
        data: {
            entity: entity
        }
    };
};
function unFollow(entity) {
    return function (dispatch) {
        dispatch(requestUnFollow(entity.id));
        return (0, _follow.unFollowEntity)(entity.id).then(function () {
            dispatchUnFollow(entity);
            dispatch(receive_UnFollow(entity));
        }).catch((0, _generic.unauthorized)(dispatch, invalidUnFollow));
    };
}
function follow(entity) {
    return function (dispatch) {
        dispatch(requestFollow(entity.id));
        return (0, _follow.followEntity)(entity.id).then(function () {
            dispatchFollow(entity);
            dispatch(receive_follow(entity));
        }).catch((0, _generic.unauthorized)(dispatch, invalidFollow));
    };
}
var requestAllFollow = function requestAllFollow() {
    return {
        type: _constants2.default.follow.REQUEST_ALL_FOLLOW
    };
};
var receiveAllFollow = function receiveAllFollow(followers) {
    return {
        type: _constants2.default.follow.RECEIVE_ALL_FOLLOW,
        data: {
            followers: followers
        }
    };
};
var invalidAllFollow = function invalidAllFollow() {
    return {
        type: _constants2.default / follow.INVALID_ALL_FOLLOW
    };
};
function fetchAllFollow() {
    return function (dispatch) {
        dispatch(requestAllFollow());
        return (0, _follow.all)().then(function (allFollowers) {
            dispatch(receiveAllFollow(allFollowers));
        }).catch((0, _generic.unauthorized)(dispatch, invalidAllFollow));
    };
}
},{"../constants":79,"../data/follow":84,"./generic":8}],8:[function(require,module,exports){
'use strict';
Object.defineProperty(exports, "__esModule", {
    value: true
});
exports.unauthorized = unauthorized;
var constants = require('../constants');
var unauthorizedRequest = function unauthorizedRequest() {
    return {
        type: constants.generic.UNAUTHORIZED_REQUEST
    };
};
function unauthorized(dispatch, action) {
    return function (resp) {
        if (resp.response.status === 401) {
            dispatch(unauthorizedRequest());
        }
        return dispatch(action());
    };
}
},{"../constants":79}],9:[function(require,module,exports){
'use strict';
Object.defineProperty(exports, "__esModule", {
    value: true
});
exports.fetchGenericLastIssues = fetchGenericLastIssues;
var _constants = require('../constants');
var _constants2 = _interopRequireDefault(_constants);
var _generic = require('./generic');
var _issue = require('../data/issue');
var _fake = require('../../iso/entity/fake');
var _fake2 = _interopRequireDefault(_fake);
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
var requestGenericLastIssues = function requestGenericLastIssues() {
    return {
        type: _constants2.default.issue.REQUEST_GENERIC_LAST_ISSUES
    };
};
var receiveGenericLastIssues = function receiveGenericLastIssues(issues, page, isFake) {
    if (!page) {
        page = 0;
    }
    return {
        type: _constants2.default.issue.RECEIVE_GENERIC_LAST_ISSUES,
        data: {
            issues: issues,
            isFake: isFake,
            nextPage: page + 1
        }
    };
};
var invalidGenericLastIssues = function invalidGenericLastIssues() {
    return {
        type: _constants2.default.issue.INVALID_GENERIC_LAST_ISSUES
    };
};
function fetchGenericLastIssues(pageNumber, id) {
    return function (dispatch) {
        dispatch(requestGenericLastIssues());
        return (0, _issue.getLastGenericIssues)(pageNumber || 0, id).then(function (resp) {
            if (!resp || resp.length === 0 && (!pageNumber || pageNumber === 0)) {
                return dispatch(receiveGenericLastIssues(_fake2.default.issue, pageNumber, true));
            }
            dispatch(receiveGenericLastIssues(resp, pageNumber));
        }).catch((0, _generic.unauthorized)(dispatch, invalidGenericLastIssues));
    };
}
},{"../../iso/entity/fake":122,"../constants":79,"../data/issue":86,"./generic":8}],10:[function(require,module,exports){
'use strict';
Object.defineProperty(exports, "__esModule", {
    value: true
});
exports.fetchGenericLastOrganizations = fetchGenericLastOrganizations;
var _constants = require('../constants');
var _constants2 = _interopRequireDefault(_constants);
var _generic = require('./generic');
var _organization = require('../data/organization');
var _fake = require('../../iso/entity/fake');
var _fake2 = _interopRequireDefault(_fake);
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
var requestGenericLastOrganizations = function requestGenericLastOrganizations() {
    return {
        type: _constants2.default.organization.REQUEST_GENERIC_LAST_ORGANIZATIONS
    };
};
var receiveGenericLastOrganizations = function receiveGenericLastOrganizations(orgs, page, fake) {
    if (!page) {
        page = 0;
    }
    return {
        type: _constants2.default.organization.RECEIVE_GENERIC_LAST_ORGANIZATIONS,
        data: {
            organizations: orgs,
            fake: fake,
            nextPage: page + 1
        }
    };
};
var invalidGenericLastOrganizations = function invalidGenericLastOrganizations() {
    return {
        type: _constants2.default.organization.INVALID_GENERIC_LAST_ORGANIZATIONS
    };
};
function fetchGenericLastOrganizations(pageNumber) {
    return function (dispatch) {
        dispatch(requestGenericLastOrganizations());
        return (0, _organization.getLastOrganizations)(pageNumber || 0).then(function (resp) {
            if (!resp || resp.length === 0 && (!pageNumber || pageNumber === 0)) {
                return dispatch(receiveGenericLastOrganizations(_fake2.default.organization, pageNumber, true));
            }
            dispatch(receiveGenericLastOrganizations(resp, pageNumber));
        }).catch((0, _generic.unauthorized)(dispatch, invalidGenericLastOrganizations));
    };
}
},{"../../iso/entity/fake":122,"../constants":79,"../data/organization":87,"./generic":8}],11:[function(require,module,exports){
'use strict';
Object.defineProperty(exports, "__esModule", {
    value: true
});
exports.fetchActiveProvidersIfNeeded = fetchActiveProvidersIfNeeded;
exports.receiveCrawlerStats = receiveCrawlerStats;
exports.fetchAllProvidersIfNeeded = fetchAllProvidersIfNeeded;
exports.reAuthProvider = reAuthProvider;
var _constants = require('../constants');
var _constants2 = _interopRequireDefault(_constants);
var _provider = require('../data/provider');
var _provider2 = _interopRequireDefault(_provider);
var _generic = require('./generic');
var _config = require('../config');
var _config2 = _interopRequireDefault(_config);
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
var invalidActiveProviders = function invalidActiveProviders() {
    return {
        type: _constants2.default.provider.INVALID_PROVIDER
    };
};
var requestActiveProviders = function requestActiveProviders() {
    return {
        type: _constants2.default.provider.REQUEST_ACTIVE_PROVIDERS
    };
};
var receiveActiveProviders = function receiveActiveProviders(providers) {
    return {
        type: _constants2.default.provider.RECEIVE_ACTIVE_PROVIDERS,
        data: { providers: providers }
    };
};
var fetchActiveProviders = function fetchActiveProviders() {
    return function (dispatch) {
        dispatch(requestActiveProviders());
        return _provider2.default.getCurrentProvider().then(function (resp) {
            dispatch(receiveActiveProviders(resp.body));
        }).catch((0, _generic.unauthorized)(dispatch, invalidActiveProviders));
    };
};
function shouldFetchActiveProviders(state) {
    return !(state.provider.providers && state.provider.providers.length > 0);
}
function fetchActiveProvidersIfNeeded() {
    return function (dispatch, getState) {
        if (shouldFetchActiveProviders(getState())) {
            return dispatch(fetchActiveProviders());
        }
    };
}
function receiveCrawlerStats(crawlerStats) {
    return {
        type: _constants2.default.provider.RECEIVE_CRAWLER_STATS,
        data: { crawlerStats: crawlerStats }
    };
}
var requestAllProviders = function requestAllProviders() {
    return {
        type: _constants2.default.provider.REQUEST_ALL_PROVIDERS
    };
};
var receiveAllProviders = function receiveAllProviders(allProviders) {
    return {
        type: _constants2.default.provider.RECEIVE_ALL_PROVIDERS,
        data: {
            allProviders: allProviders
        }
    };
};
var invalidProviders = function invalidProviders() {
    return {
        type: _constants2.default.provider.INVALID_ALL_PROVIDERS
    };
};
var fetchAllProviders = function fetchAllProviders() {
    return function (dispatch) {
        dispatch(requestAllProviders());
        return _provider2.default.getAllProvider().then(function (resp) {
            dispatch(receiveAllProviders(resp.body));
        }).catch((0, _generic.unauthorized)(dispatch, invalidProviders));
    };
};
function shouldFetchProviders(state) {
    return !(state.provider.allProviders && state.provider.allProviders.length > 0);
}
function fetchAllProvidersIfNeeded() {
    return function (dispatch, getState) {
        if (shouldFetchProviders(getState())) {
            return dispatch(fetchAllProviders());
        }
    };
}
function reAuthProvider(provider) {
    return _provider2.default.reAuthProvider(provider).then(function (url) {
        _config2.default.location.redirectToUrl(url);
    });
}
},{"../config":76,"../constants":79,"../data/provider":88,"./generic":8}],12:[function(require,module,exports){
'use strict';
Object.defineProperty(exports, "__esModule", {
    value: true
});
exports.shouldFetchSuggestedSearch = shouldFetchSuggestedSearch;
exports.shouldFetchSearch = shouldFetchSearch;
var _constants = require('../constants');
var _constants2 = _interopRequireDefault(_constants);
var _generic = require('./generic');
var _search = require('../data/search');
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
var requestSuggestedSearch = function requestSuggestedSearch() {
    return {
        type: _constants2.default.search.REQUEST_SUGGESTED_SEARCH
    };
};
var receiveGenericLastTasks = function receiveGenericLastTasks(query, suggested) {
    return {
        type: _constants2.default.search.RECEIVE_SUGGESTED_SEARCH,
        data: {
            suggestedSearches: suggested,
            suggestedSearchQuery: query
        }
    };
};
var invalidGenericLastTasks = function invalidGenericLastTasks() {
    return {
        type: _constants2.default.search.INVALID_SUGGESTED_SEARCH
    };
};
function shouldFetchSuggestedSearch(q) {
    return function (dispatch) {
        dispatch(requestSuggestedSearch());
        return (0, _search.suggestedSearch)(q).then(function (resp) {
            dispatch(receiveGenericLastTasks(q, resp));
        }).catch((0, _generic.unauthorized)(dispatch, invalidGenericLastTasks));
    };
}
var requestSearch = function requestSearch() {
    return {
        type: _constants2.default.search.REQUEST_SEARCH
    };
};
var receiveSearch = function receiveSearch(searchResult) {
    return {
        type: _constants2.default.search.RECEIVE_SEARCH,
        data: {
            searchResult: searchResult
        }
    };
};
var invalidSearch = function invalidSearch() {
    return {
        type: _constants2.default.search.INVALID_SEARCH
    };
};
function shouldFetchSearch(q) {
    return function (dispatch) {
        dispatch(requestSearch());
        return (0, _search.search)(q).then(function (resp) {
            dispatch(receiveSearch(resp));
        }).catch((0, _generic.unauthorized)(dispatch, invalidSearch));
    };
}
},{"../constants":79,"../data/search":89,"./generic":8}],13:[function(require,module,exports){
'use strict';
Object.defineProperty(exports, "__esModule", {
    value: true
});
exports.fetchGenericLastTasks = fetchGenericLastTasks;
var _constants = require('../constants');
var _constants2 = _interopRequireDefault(_constants);
var _generic = require('./generic');
var _task = require('../data/task');
var _fake = require('../../iso/entity/fake');
var _fake2 = _interopRequireDefault(_fake);
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
var requestGenericLastTasks = function requestGenericLastTasks() {
    return {
        type: _constants2.default.task.REQUEST_GENERIC_LAST_TASKS
    };
};
var receiveGenericLastTasks = function receiveGenericLastTasks(tasks, page, fake) {
    if (!page) {
        page = 0;
    }
    return {
        type: _constants2.default.task.RECEIVE_GENERIC_LAST_TASKS,
        data: {
            tasks: tasks,
            isFake: fake,
            nextPage: page
        }
    };
};
var invalidGenericLastTasks = function invalidGenericLastTasks() {
    return {
        type: _constants2.default.task.INVALID_GENERIC_LAST_TASKS
    };
};
function fetchGenericLastTasks(pageNumber) {
    return function (dispatch) {
        dispatch(requestGenericLastTasks());
        return (0, _task.getLastGenericTasks)(pageNumber || 0).then(function (resp) {
            if (!resp || resp.length === 0 && (!pageNumber || pageNumber === 0)) {
                return dispatch(receiveGenericLastTasks(_fake2.default.document, pageNumber, true));
            }
            dispatch(receiveGenericLastTasks(resp, pageNumber));
        }).catch((0, _generic.unauthorized)(dispatch, invalidGenericLastTasks));
    };
}
},{"../../iso/entity/fake":122,"../constants":79,"../data/task":90,"./generic":8}],14:[function(require,module,exports){
'use strict';
Object.defineProperty(exports, "__esModule", {
    value: true
});
exports.shouldFetchGenericLastTools = shouldFetchGenericLastTools;
var _constants = require('../constants');
var _constants2 = _interopRequireDefault(_constants);
var _generic = require('./generic');
var _tools = require('../data/tools');
var _fake = require('../../iso/entity/fake');
var _fake2 = _interopRequireDefault(_fake);
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
var shouldFetchGenericLastTools = function shouldFetchGenericLastTools(state) {
    return !state.genericLastTools || state.genericLastTools.length === 0;
};
var requestGenericLastTools = function requestGenericLastTools() {
    return {
        type: _constants2.default.tool.REQUEST_GENERIC_LAST_TOOLS
    };
};
var receiveGenericLastTools = function receiveGenericLastTools(tools, fake) {
    return {
        type: _constants2.default.tool.RECEIVE_GENERIC_LAST_TOOLS,
        data: {
            tools: tools,
            isFake: fake
        }
    };
};
var invalidGenericLastTools = function invalidGenericLastTools() {
    return {
        type: _constants2.default.tool.INVALID_GENERIC_LAST_TOOLS
    };
};
var fetchGenericLastTools = function fetchGenericLastTools() {
    return function (dispatch) {
        dispatch(requestGenericLastTools());
        return (0, _tools.getLastTools)().then(function (resp) {
            if (!resp || resp.length === 0) {
                return dispatch(receiveGenericLastTools(_fake2.default.tool || [], true));
            }
            dispatch(receiveGenericLastTools(resp));
        }).catch((0, _generic.unauthorized)(dispatch, invalidGenericLastTools));
    };
};
function shouldFetchGenericLastTools() {
    return function (dispatch, getState) {
        if (shouldFetchGenericLastTools(getState())) {
            return dispatch(fetchGenericLastTools());
        }
    };
}
},{"../../iso/entity/fake":122,"../constants":79,"../data/tools":91,"./generic":8}],15:[function(require,module,exports){
'use strict';
Object.defineProperty(exports, "__esModule", {
    value: true
});
exports.fetchUsersIfNeeded = fetchUsersIfNeeded;
exports.fetchPotentialUsersIfNeeded = fetchPotentialUsersIfNeeded;
exports.shouldFetchCurrentUser = shouldFetchCurrentUser;
var _constants = require('../constants');
var _constants2 = _interopRequireDefault(_constants);
var _user = require('../data/user');
var _entity = require('../data/entity');
var _generic = require('./generic');
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
var invalidUsers = function invalidUsers() {
    return {
        type: _constants2.default.user.INVALID_USERS
    };
};
var requestUsers = function requestUsers() {
    return {
        type: _constants2.default.user.REQUEST_USERS
    };
};
var receiveUsers = function receiveUsers(users) {
    return {
        type: _constants2.default.user.RECEIVE_USERS,
        data: {
            users: users
        }
    };
};
var fetchUsers = function fetchUsers() {
    return function (dispatch) {
        dispatch(requestUsers());
        return (0, _user.getUsers)().then(function (resp) {
            dispatch(receiveUsers(resp.body));
        }).catch((0, _generic.unauthorized)(dispatch, invalidUsers));
    };
};
function shouldFetchUsers(state) {
    return !(state.user.users && state.user.users.length > 0);
}
function fetchUsersIfNeeded() {
    return function (dispatch, getState) {
        if (shouldFetchUsers(getState())) {
            return dispatch(fetchUsers());
        }
    };
}
var requestPotentialUsers = function requestPotentialUsers() {
    return {
        type: _constants2.default.user.REQUEST_POTENTIAL_USERS
    };
};
var receivePotentialUsers = function receivePotentialUsers(potentialUsers) {
    return {
        type: _constants2.default.user.RECEIVE_POTENTIAL_USERS,
        data: potentialUsers
    };
};
var invalidPotentialUsers = function invalidPotentialUsers() {
    return {
        type: _constants2.default.user.INVALID_POTENTIAL_USERS
    };
};
var fetchPotentialUsers = function fetchPotentialUsers() {
    return function (dispatch) {
        dispatch(requestPotentialUsers());
        return (0, _user.getPotentialUsers)().then(function (users) {
            dispatch(receivePotentialUsers(users));
        }).catch((0, _generic.unauthorized)(dispatch, invalidPotentialUsers));
    };
};
var shouldFetchPotentialUsers = function shouldFetchPotentialUsers(state) {
    return !(state.user.potentialUsers && state.user.potentialUsers.length > 0);
};
function fetchPotentialUsersIfNeeded() {
    return function (dispatch, getState) {
        if (shouldFetchPotentialUsers(getState())) {
            return dispatch(fetchPotentialUsers());
        }
    };
}
var requestCurrentUser = function requestCurrentUser() {
    return {
        type: _constants2.default.user.REQUEST_CURRENT_USER
    };
};
var receiveCurrentUser = function receiveCurrentUser(user) {
    return {
        type: _constants2.default.user.RECEIVE_CURRENT_USER,
        data: {
            user: user
        }
    };
};
var invalidCurrentUser = function invalidCurrentUser() {
    return {
        type: _constants2.default.user.INVALID_CURRENT_USER
    };
};
var fetchCurrentUser = function fetchCurrentUser() {
    return function (dispatch) {
        dispatch(requestCurrentUser());
        return (0, _user.getCurrentUser)().then(function (user) {
            return (0, _entity.getEntityByName)('/Infrastructure/User%23CluedIn:' + user.client.Id).then(function (userEntity) {
                user.entity = userEntity;
                dispatch(receiveCurrentUser(user));
            });
        }).catch((0, _generic.unauthorized)(dispatch, invalidCurrentUser));
    };
};
function shouldFetchCurrentUser() {
    return function (dispatch) {
        return dispatch(fetchCurrentUser());
    };
}
},{"../constants":79,"../data/entity":83,"../data/user":92,"./generic":8}],16:[function(require,module,exports){
'use strict';
var _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();
Object.defineProperty(exports, "__esModule", {
    value: true
});
exports.default = undefined;
var _react = require('react');
var _react2 = _interopRequireDefault(_react);
var _Grid = require('./Grid.jsx');
var _Grid2 = _interopRequireDefault(_Grid);
var _store = require('store');
var _store2 = _interopRequireDefault(_store);
var _reactTabs = require('react-tabs');
var _reactTabs2 = _interopRequireDefault(_reactTabs);
var _index = require('../../userProfile/index');
var _index2 = _interopRequireDefault(_index);
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }
function _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); } return call && (typeof call === "object" || typeof call === "function") ? call : self; }
function _inherits(subClass, superClass) { if (typeof superClass !== "function" && superClass !== null) { throw new TypeError("Super expression must either be null or a function, not " + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; }
var Tab = _reactTabs2.default.Tab;
var Tabs = _reactTabs2.default.Tabs;
var TabList = _reactTabs2.default.TabList;
var TabPanel = _reactTabs2.default.TabPanel;
var AppWithTabs = function (_Component) {
    _inherits(AppWithTabs, _Component);
    function AppWithTabs() {
        _classCallCheck(this, AppWithTabs);
        return _possibleConstructorReturn(this, Object.getPrototypeOf(AppWithTabs).apply(this, arguments));
    }
    _createClass(AppWithTabs, [{
        key: 'buildTabMenu',
        value: function buildTabMenu(tab, index) {
            return _react2.default.createElement(
                Tab,
                { key: index },
                tab.name
            );
        }
    }, {
        key: 'buildSuggestedSearchWidget',
        value: function buildSuggestedSearchWidget(suggestedSearches) {
            var _props = this.props;
            var index = _props.index;
            var type = _props.type;
            var result = [];
            suggestedSearches.forEach(function (search, i) {
                result.push({
                    name: 'EntitySuggestedSearch',
                    place: 'Content',
                    size: 4,
                    parameters: {
                        search: search,
                        index: i,
                        layoutIndex: index,
                        type: type
                    }
                });
            });
            return result;
        }
    }, {
        key: 'filterAdminWidget',
        value: function filterAdminWidget(w) {
            var currentUser = this.props.currentUser;
            if (w.onlyAdmin) {
                return currentUser.client.IsAdmin;
            }
            return true;
        }
    }, {
        key: 'filterBasedOnUserSettings',
        value: function filterBasedOnUserSettings(w) {
            var type = this.props.type;
            var excludedWidgets = _index2.default.getExcludedWidgets(type);
            return !(excludedWidgets.indexOf(w.name) > -1);
        }
    }, {
        key: 'addParamToWidget',
        value: function addParamToWidget(w) {
            var entityId = this.props.entityId;
            w.parameters = w.parameters || {};
            w.parameters.entityId = entityId;
        }
    }, {
        key: 'filterWidget',
        value: function filterWidget(widgets) {
            var entityId = this.props.entityId;
            widgets = widgets.filter(this.filterBasedOnUserSettings, this).filter(this.filterAdminWidget, this);
            if (entityId) {
                widgets.forEach(this.addParamToWidget, this);
            }
            return widgets;
        }
    }, {
        key: 'filterSuggestedSearches',
        value: function filterSuggestedSearches(suggestedSearches, _filterSuggestedSearches) {
            suggestedSearches = suggestedSearches || [];
            if (!_filterSuggestedSearches || _filterSuggestedSearches.length === 0) {
                return suggestedSearches;
            }
            return suggestedSearches.filter(function (s) {
                return _filterSuggestedSearches.find(function (include) {
                    return include.key === s.DisplayName;
                });
            });
        }
    }, {
        key: 'buildTabs',
        value: function buildTabs(tab, tabIndex) {
            var _props2 = this.props;
            var entityId = _props2.entityId;
            var entity = _props2.entity;
            var type = _props2.type;
            var layout = _props2.layout;
            var isFetchingEntity = _props2.isFetchingEntity;
            var index = _props2.index;
            var currentUser = _props2.currentUser;
            var singleLayout = layout[index];
            var widgets = this.filterWidget(tab.widgets.slice(0));
            var currentTabLayoutInformation = {
                layoutIndex: index,
                tabIndex: tabIndex,
                type: type
            };
            if (entityId && entity && !isFetchingEntity && tab.includeSuggestedSearches) {
                var suggestedSearches = this.filterSuggestedSearches(entity.SuggestedSearches, tab.suggestedSearchFilter);
                var widgetsForSuggestedSearch = this.buildSuggestedSearchWidget(suggestedSearches);
                if (widgetsForSuggestedSearch && widgetsForSuggestedSearch.length > 0) {
                    widgetsForSuggestedSearch.forEach(function (w) {
                        if (singleLayout.includeSuggestedSearchesBefore) {
                            widgets.shift(w);
                        } else {
                            widgets.push(w);
                        }
                    });
                }
            }
            return _react2.default.createElement(
                TabPanel,
                { key: tabIndex },
                _react2.default.createElement(
                    'div',
                    { className: 'cluedIn_container' },
                    _react2.default.createElement(_Grid2.default, { layoutInformation: currentTabLayoutInformation,
                        isAdmin: currentUser.client.IsAdmin, widgets: widgets })
                )
            );
        }
    }, {
        key: 'render',
        value: function render() {
            var _props3 = this.props;
            var layout = _props3.layout;
            var index = _props3.index;
            var type = _props3.type;
            var currentUser = _props3.currentUser;
            var tabs = undefined;
            var tabsTitles = undefined;
            var tabsContent = undefined;
            var singleLayout = layout[index];
            var sharedWidgetLayoutInformation = {
                layoutIndex: index,
                tabIndex: -1,
                type: type
            };
            tabs = singleLayout.tabs.slice(0);
            tabsTitles = tabs.map(this.buildTabMenu, this);
            tabsContent = tabs.map(this.buildTabs, this);
            return _react2.default.createElement(
                'div',
                { className: 'cluedIn_generic_tabs' },
                _react2.default.createElement(
                    'div',
                    { className: 'cluedIn_row' },
                    _react2.default.createElement(
                        'div',
                        { className: 'cluedIn_col s12' },
                        _react2.default.createElement(_Grid2.default, { layoutInformation: sharedWidgetLayoutInformation,
                            isAdmin: currentUser.client.IsAdmin,
                            widgets: singleLayout.sharedWidgets })
                    ),
                    _react2.default.createElement(
                        'div',
                        { className: 'cluedIn_col s12' },
                        _react2.default.createElement(
                            Tabs,
                            null,
                            _react2.default.createElement(
                                TabList,
                                null,
                                tabsTitles
                            ),
                            tabsContent
                        )
                    )
                )
            );
        }
    }]);
    return AppWithTabs;
}(_react.Component);
exports.default = AppWithTabs;
},{"../../userProfile/index":116,"./Grid.jsx":17,"react":608,"react-tabs":451,"store":623}],17:[function(require,module,exports){
'use strict';
var _createClass = function () { function de